logging 配置文件及用法

配置文件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')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容