問題描述
一個.py腳本利用logging同時輸出兩個log文件,通過兩個不同的配置文件,可以生成兩個log文件,但是只有后一個log對象可以寫進內容,前一個log對象無法寫入內容
問題出現的環境背景及自己嘗試過哪些方法
不知道什么原因,懷疑跟handlers類型有關?
相關代碼
// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)test.py #!/usr/bin/env python # coding: utf-8import logging.configimport loggingdef get_logger(logger_name, logger_path):
logging.config.fileConfig(logger_path)
return logging.getLogger(logger_name)
if name == '__main__':
log_path1='logging.conf'
log_path2='audit.conf'
logger1 = get_logger('Glon', log_path1)
logger2 = get_logger('GlonHo', log_path2)
logger1.info(' test1 log msg: %s', "111111111111111111111")
logger2.info(' test2 log msg: %s', "222222222222222222222")
logging.conf[loggers]keys=root
[handlers]keys=rotatingHandler
[formatters]keys=simpleFormatter
[logger_root]level=INFOhandlers=rotatingHandler
[handler_rotatingHandler]class=logging.handlers.TimedRotatingFileHandlerlevel=INFOformatter=simpleFormatterargs=('trace.log', 'midnight')
[formatter_simpleFormatter]format=%(asctime)s %(levelname)s %(message)sdatefmt=
audit.conf[loggers]keys=root
[handlers]keys=rotatingHandler
[formatters]keys=simpleFormatter
[logger_root]level=INFOhandlers=rotatingHandler
[handler_rotatingHandler]class=logging.handlers.TimedRotatingFileHandlerlevel=INFOformatter=simpleFormatterargs=('wacaudit_console0.csv', 'midnight')
[formatter_simpleFormatter]format=%(message)s
你期待的結果是什么?實際看到的錯誤信息又是什么?
題目描述
期望:log信息同時寫入trace.log、wacaudit_console0.csv這兩個log文件實際:這兩個log文件可同時生成,可log信息只寫進wacaudit_console0.csv,卻沒有寫進trace.log結果:cat trace.logcat wacaudit_console0.csv test2 log msg: 222222222222222222222
問題出現的環境背景及自己嘗試過哪些方法
將test.py當中的 logger1 = get_logger('Glon', log_path1)logger2 = get_logger('GlonHo', log_path2)這兩句代碼互換位置,log信息可以寫進trace.log,wacaudit_console0.csv也就沒有值寫進去了。
添加回答
舉報
0/150
提交
取消