我的Django 1.3日志记录设置会导致所有日志消息输出两次。我已经读过两次或两次以上导入settings.py导致了这个问题,但是Django 1.3有新的日志记录功能,而且我认为我没有在任何地方导入settings.py两次。
settings.py config:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'simple': {
'format': '%(levelname)s: %(message)s'
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple',
},
},
'loggers': {
'custom': {
'handlers': ['console'],
'level': 'DEBUG',
},
}
}
代码:
import logging
log = logging.getLogger('custom')
log.debug('message1')
log.debug('message2')
输出:
DEBUG: message1
DEBUG:custom:message1
感谢您的帮助。
答案 0 :(得分:7)
您是否尝试过设置propagate = False?与disable_existing_loggers = True?
一起LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'simple': {
'format': '%(levelname)s: %(message)s'
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple',
},
},
'loggers': {
'custom': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
}
}
答案 1 :(得分:0)
您可能想尝试'disable_existing_loggers':是吗?
答案 2 :(得分:0)
我遇到了同样的问题。我通过将根日志重定向到文件来修复它,并将日志投影到文件和控制台。
我grep我的代码,并且找不到basicConfig()存在,也尝试将disable_existing_loggers设置为True,它没有帮助,最后通过设置文件记录器解决了问题。我想在某些情况下这可能是设计上的一个问题。
<input type="radio" name="choice-1" id="choice-1" value="1"/>
<label for="choice-1">
<img src="img/black.jpeg" />
</label>
<input type="radio" name="choice-1" id="choice-2" value="1"/>
<label for="choice-2">
<img src="img/blue.jpg" />
</label>