【问题标题】:Django Logger with User info带有用户信息的 Django 记录器
【发布时间】:2018-09-07 02:54:44
【问题描述】:

我只是好奇。是否可以将User 信息放入formatters 信息中的LOGGING 配置setting.py 中?

现在我只是将该信息放在要记录的消息中,但也许有一种方法可以在 formatters 参数中设置它。

这是我现在的LOGGING 配置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '[%(asctime)s] %(levelname)s [%(funcName)s] %(message)s'
        }
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': BASE_DIR + '/logs/uca_{:%d_%m_%Y}.log'.format(time.now()),
            'formatter': 'simple'
        }
    },
    'loggers': {
        'ucalog': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True
        }
    }
}

我在 django 的文档中没有看到任何类似的东西,我认为获取 WHO 做了什么的记录会很有用。

【问题讨论】:

  • 我遇到了类似的问题..你能将用户名添加到日志中吗?

标签: django formatting settings


【解决方案1】:

试试这个:

'format': '[%(asctime)s] %(levelname)s [%(funcName)s] - %(username)s: %(message)s'

logging.basicConfig(format=format)
logger.info(message, extra={'username' : request.user.username})

【讨论】:

    猜你喜欢
    • 2017-08-28
    • 2012-08-24
    • 1970-01-01
    • 2015-05-02
    • 2017-07-30
    • 1970-01-01
    • 2019-01-04
    • 2017-06-27
    • 2019-05-30
    相关资源
    最近更新 更多