【发布时间】:2019-01-08 02:20:05
【问题描述】:
我有一个奇怪的django日志文件输出问题,我在我的django 1.11.11项目中像from ansible.plugins.callback import CallbackBase这样使用ansible 2.5.0模块,而/etc/ansible/ansible.cfg文件中的log_path设置实际上对我的django项目日志文件输出,像劫持:
# /etc/ansible/ansible.cfg file
# logging is off by default unless this path is defined
# if so defined, consider logrotate
log_path = /var/log/ansible.log
我所有的 django 日志都输出到 /var/log/ansible.log,这很奇怪
# /var/log/ansible.log
2019-01-07 17:49:22,271 django.server "GET /docs/ HTTP/1.1" 200 1391207
2019-01-07 17:49:23,262 django.server "GET /docs/schema.js HTTP/1.1" 200 111440
我确实在我的django设置中设置了LOGGING,django设置也生效了,输出是这样的:
# /var/log/django_debug.log
"GET /docs/ HTTP/1.1" 200 1391207
"GET /docs/schema.js HTTP/1.1" 200 111440
这将是我在 django 设置中定义的同一日志级别的同一 django 项目的两个日志文件:
# django settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': '/var/log/django_debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'INFO',
'propagate': True,
},
},
}
【问题讨论】: