我在settings.py中设置了Logging,并且想知道是否可以添加到错误日志行-哪个用户遇到了该错误以及该问题的时间戳。这可能吗?
当前代码
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
答案 0 :(得分:0)
您可以添加格式化程序,并在处理程序中使用它们。 Here是您可以添加的可用默认属性的列表,例如{asctime}
的时间戳。要添加用户,您必须在日志记录调用中提供它作为额外的参数,如here所示。
LOGGING = {
'formatters': {
'timestamp': {
'format': '{asctime} {levelname} {message}',
'style': '{',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'timestamp'
},
},
'loggers': {
'django': {
'handlers': ['console'],
},
},
}
答案 1 :(得分:0)
您可以为日志定义formatter,例如:
"Tell Us More About Your Question us"
// ^ this "u" is now the first lowercase "u"
要记录遇到错误的用户,您必须在消息中(例如,在您的视图中)传递用户名:
'formatters': {
'verbose': {
'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',
'style': '{',
}
},
答案 2 :(得分:0)
'formatters': {
'verbose': {
'format': '%(asctime)s; %(name)s] Message "%(message)s" from %
(pathname)s:%(lineno)d in %(funcName)s',
'datefmt': "%d/%b/%Y %H:%M:%S"
},
}
您可以使用上述格式添加新的格式化程序。它应该能够记录行号。但是要登录用户名,除了手动操作外,我别无选择。