我通过谷歌搜索,只找到有关 Django 及其网址的答案。我的问题类似,但涉及日志记录问题,我无法应对。
我使用了Advanced Logging Tutorial和Logging Cookbook以及logging.conf 描述
运行“python logger.py”后总是出现以下错误:
Traceback (most recent call last):
File "logger.py", line 5, in <module>
logging.config.dictConfig('logger-dict.conf')
File "/usr/lib/python2.7/logging/config.py", line 777, in dictConfig
dictConfigClass(config).configure()
File "/usr/lib/python2.7/logging/config.py", line 380, in __init__
self.config = ConvertingDict(config)
ValueError: dictionary update sequence element #0 has length 1; 2 is required
记录器.py
import logging
import logging.config
logging.config.dictConfig('logger-dict.conf')
logger = logging.getLogger('basic')
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
记录器-dict.conf
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'simple': {
'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',
'datefmt': '%d/%m/%Y %H:%M:%S %Z',
},
},
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
'formatter': 'simple'
},
'file':{
'level': 'WARNING',
'class': 'logging.handlers.RotatingFileHandler',
'formatter': 'simple',
'mode': 'a',
'filename': './logs/logconfig.log',
'maxBytes': '1048576',
'backupCount': '5',
},
},
'loggers': {
'basic': {
'handlers':['file'],
'propagate': True,
'level':'INFO',
},
}
}
我一直在尝试通过有关 Django 的答案来解决这个问题,但目前没有成功。
编辑:
在下面的评论之后,我了解到如果将字典放在某个地方,最好将其放入 *.py 文件而不是 *.conf。
但是有没有一种简单的方法(不是逐行读取文件)来使用 *.conf 文件和里面的 python 字典?