Skip to content

Instantly share code, notes, and snippets.

@hxer
Last active September 18, 2021 14:37
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save hxer/810f791a49e4e1569637 to your computer and use it in GitHub Desktop.
Save hxer/810f791a49e4e1569637 to your computer and use it in GitHub Desktop.
python logging 将日志同时输出文件和屏幕
# 日志打印屏幕或文件
def setup_logger_2(logger_name, level=logging.INFO, handler='all', log_file=''):
"""
:param logger_name:
:param log_file:
:param level:
:param handler: file or stream or all
:return:
"""
log_setup = logging.getLogger(logger_name)
log_setup.setLevel(level)
formatter = logging.Formatter('%(name)-10s: %(levelname)-8s %(asctime)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
if handler in ['file', 'all']:
fileHandler = logging.FileHandler(log_file, mode='a')
fileHandler.setFormatter(formatter)
log_setup.addHandler(fileHandler)
if handler in ['stream', 'all']:
streamHandler = logging.StreamHandler()
streamHandler.setFormatter(formatter)
log_setup.addHandler(streamHandler)
#将日志同时输出到文件和屏幕
def setup_logger(logger_name, log_file, level=logging.INFO):
log_setup = logging.getLogger(logger_name)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
fileHandler = logging.FileHandler(log_file, mode='a')
fileHandler.setFormatter(formatter)
streamHandler = logging.StreamHandler()
streamHandler.setFormatter(formatter)
log_setup.setLevel(level)
log_setup.addHandler(fileHandler)
log_setup.addHandler(streamHandler)
log_path = os.path.join(os.path.dirname(BASE_PATH), 'log')
if not os.path.exists(log_path):
os.mkdir(log_path)
log_file = os.path.join(log_path, 'risk.log')
scheduler_log_file = os.path.join(log_path, 'scheduler.log')
setup_logger('risk', log_file)
setup_logger('scheduler', scheduler_log_file)
logger = logging.getLogger('risk')
scheduler_log = logging.getLogger('scheduler')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment