配置文件log.ini:
#logger.conf
###############################################
[loggers]
keys=root
[handlers]
keys=debug,info,error
[formatters]
keys=form
[logger_root]
level=NOTSET
handlers=debug,info,error
[handler_debug]
class=StreamHandler
level=DEBUG
formatter=form
args=(sys.stdout,)
[handler_info]
class=handlers.TimedRotatingFileHandler
level=INFO
formatter=form
args=('/data/logs/model/run.log', 'midnight')
[handler_error]
class=handlers.TimedRotatingFileHandler
level=ERROR
formatter=form
args=('/data/logs/model/error.log', 'midnight')
[filter_info]
###############################################
[formatter_form]
; format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
format={"time": "%(asctime)s", "filename": " %(filename)s", "line": "%(lineno)d", "level": "%(levelname)s", "msg": "%(message)s"}
datefmt=%Y-%m-%d %H:%M:%S.000%z
%z 以 hour/minute offset 的形式输出时区信息
加载配置:
import logging
# intial log setting
logging.config.fileConfig(os.path.join(os.path.dirname(basedir), 'conf/log.ini'))
logger = logging.getLogger('root')
在其他代码文件中使用上述 logger
import logging
logger = logging.getLogger('root')
网友评论