python 有自带logging 非常强大,网上也查了很多自配置的logger可以说体验不太好,一旦有import问题,日志重复打印什么的,各种各样的问题,下面记录一种可以适用于任何框架的logging,这个不是自创的,不记得是哪里查到的了。
logg_config.py配置文件
import logging
logging_config = dict(
version=1,
formatters={
'simple': {'format': '%(asctime)s %(levelname)s {path: %(pathname)s Line_No: %(lineno)d} %(message)s'}
},
handlers={
'default_handlers': {'class': 'logging.handlers.RotatingFileHandler',
'filename': './logfile/logger.log',
'maxBytes': 1024 * 1024 * 20,
'backupCount': 50,
'level': 'WARNING',
'formatter': 'simple',
'encoding': 'utf8'}
},
root={
'handlers': ['default_handlers'],
'level': logging.WARNING,
},
)
写在配置文件里面,用于在程序最初启动的时候,加载一遍,全局通用。
from logging.config import dictConfig
import logging_config
dictConfig(logging_config.logging_config)
无论在哪个文件使用的正确打开方式
import logging
loger = logging.getLogger("default_handlers")
loger.info("我要打印日志")
日志可以分的很细。看起来特别像django的日志配置,很好用。