我已将日志配置为:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
'cute':{
'class': 'logging.handlers.SocketHandler',
'host': '127.0.0.1',
'port': 19996
},
},
'loggers': {
'django': {
'handlers': ['cute'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
},
},
}
但是当我尝试注销时,我在控制台中收到错误:
TypeError: an integer is required (got type socket)
我认为这似乎是在尝试腌制日志消息时发生的。
发生了什么,我怎样才能让SocketHandler
工作?
答案 0 :(得分:0)
有一个bug report。无法腌制该请求对象,并且日志失败。
在我遇到与您相同的错误之前,我的记录器就像您的记录器一样。由于我的代码包含无法处理请求的应用程序,因此我部分解决了为navigate=no
创建日志而没有django.request
socket_handler
不过,bug report也建议创建一个自定义SocketHandler删除请求:
'django.request': {
'handlers': ['defaultfile', 'console'],
'level': 'WARNING',
'propagate': False,
},
我还没有尝试过,但这可能是一条路。