我正在尝试将Papertrail日志添加到Django应用程序中,该应用程序是与旧的Falcon应用程序一起构建的。由于v1到v2的一些转换,它的设置是这样的(为了简单起见,删除了很多代码):
import logging
import logging.config
logger = logging.getLogger('api')
...
logging.config.dictConfig({
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
'logstash': {
'level': 'INFO',
'class': 'logstash.TCPLogstashHandler',
'host': LOGSTASH_HOST,
'port': LOGSTASH_PORT,
'version': 1,
'message_type': 'django',
'fqdn': True,
},
{
'level': 'INFO',
'class': 'logging.handlers.SysLogHandler',
'address': ('logs.papertrailapp.com', int(CREDENTIALS_PAPERTRAIL_ADDRESS))
}
}
'loggers': {
'api': {
'handlers': ['console','SysLog'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG'),
'propagate': True,
},
"gunicorn.error": {
'handlers': ['console','SysLog'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG'),
'propagate': True,
},
"gunicorn.access": {
'handlers': ['console','SysLog'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG'),
'propagate': True,
},
'access_logs': {
'handlers': ['logstash'],
'level': 'INFO',
'propagate': False,
},
},
})
gunicorn的东西来自https://github.com/benoitc/gunicorn/issues/2016
在一个测试文件中,我有logger.warning('test asdf')
,我看到它被吐到控制台,但是它也抛出:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/logging/handlers.py", line 940, in emit
self.socket.sendto(msg, self.address)
OSError: [Errno 9] Bad file descriptor
问题是,访问日志的东西是有效的;我们看到这些东西被藏起来了,但我似乎无法解决这个插座问题。格式也直接来自他们的文档
目前没有回答
相关问题 更多 >
编程相关推荐