为了账号安全,请及时绑定邮箱和手机立即绑定

将时间戳和用户名添加到日志中

将时间戳和用户名添加到日志中

喵喵时光机 2021-12-17 10:39:46
我在我的 settings.py 中设置了日志记录,我想知道是否可以添加到错误日志行 - 哪个用户遇到了错误和问题的时间戳。这可能吗?当前代码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,        },    },}
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

您可以添加格式化程序并在处理程序中使用它们。这是您可以添加的可用默认属性列表,例如带有{asctime}. 要添加用户,你必须在日志调用提供其作为一个额外的参数如图所示这里。


LOGGING = {

    'formatters': {

        'timestamp': {

            'format': '{asctime} {levelname} {message}',

            'style': '{',

        },

    },

    'handlers': {

        'console': {

            'class': 'logging.StreamHandler',

            'formatter': 'timestamp'

        },

    },

    'loggers': {

        'django': {

            'handlers': ['console'],

        },

    },

}


查看完整回答
反对 回复 2021-12-17
?
九州编程

TA贡献1785条经验 获得超4个赞

您可以为日志定义格式化程序,例如:


'formatters': {

    'verbose': {

        'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',

        'style': '{',

    }

},

要记录遇到错误的用户,您必须在消息中传递用户名,例如在您的视图中:


def my_view(request):

    logger.error('View error for user {}'.format(request.user.username))


查看完整回答
反对 回复 2021-12-17
?
收到一只叮咚

TA贡献1821条经验 获得超5个赞

'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"

        },

}

您可以添加具有上述格式的新格式化程序。它应该能够记录行号。但是要记录用户名,除了手动执行之外,我没有想到任何其他方法。


查看完整回答
反对 回复 2021-12-17
  • 3 回答
  • 0 关注
  • 228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号