Last active
September 18, 2021 14:37
-
-
Save hxer/810f791a49e4e1569637 to your computer and use it in GitHub Desktop.
python logging 将日志同时输出文件和屏幕
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 日志打印屏幕或文件 | |
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