1

我通过谷歌搜索,只找到有关 Django 及其网址的答案。我的问题类似,但涉及日志记录问题,我无法应对。

我使用了Advanced Logging TutorialLogging 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 字典?

4

0 回答 0