我正在尝试使用TimedRotatingFileHandler
dictConfig
以下是代码:
LOG_SETTINGS = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'default': {
'format': '%(asctime)s: %(name)s: #%(lineno)d: %(levelname)s - %(message)s'
}
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.TimedRotatingFileHandler',
'formatter': 'default',
'filename': logfile_name,
'when': 'midnight',
'interval': 1,
'backupCount': 5
}
},
'loggers': {
' ': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True
},
}
}
logfile_name =
$HOME/.local/share/app/file.log
使用
加载字典logging.config.dictConfig(LOG_SETTINGS)
写入档案:
logging.debug("Some text")
这将创建一个名为file.log
的文件,但文件完全为空。我没有错误/警告。
我访问了Basic logging dictConfig in Python。文件似乎非常相似。
我哪里出错了?使用Python 3.6
答案 0 :(得分:0)
试试:
import logging # there we import logging module
logger = logging.getLogger(' ') # there we get logger by name from settings
logger.debug('yolo') # there we test logging with custom message
更新: 在我的公司,我们总是使用它:
logger = logging.getLogger(__name__)
使用define logger:
'loggers': {
'app.views': {
'handlers': ['handler_name'],
'level': os.getenv('ERROR', 'INFO'), # needed level
'propagate': True,
},