【问题标题】:Django logging configurationsDjango 日志记录配置
【发布时间】:2013-09-11 12:17:18
【问题描述】:

我刚刚完成了 DJANGO 的日志记录工作,并试图找到其他可用选项,但没有找到我想要的。在 java.utils.logging 中有一个记录方法: java.util.logging.Logger.entering

在进入方法时被调用,

java.util.logging.Logger.exiting

离开方法时调用。 DJANGO 中是否存在这些类型的方法?

另外,目前我在 settings.py 中设置了以下详细格式设置:

<code>%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s</code>

是否有可能获取有关用户的任何信息以自动登录,即用户名/电子邮件(如果存在)?

此外,在 java 中,您可以使用 [0] 格式化日志消息,并使用对象数组填充变量。 例子: log.log( Level.FINER, "processing[{0}]: {1}", new Object[]{ i, list.get(i) } );

DJANGO 日志记录中是否存在这种格式?

【问题讨论】:

  • 此外,在 java 中,您可以使用 [0] 格式化日志消息,并使用对象数组填充变量。示例 log.log(Level.FINER, "processing[{0}]: {1}", new Object[]{ i, list.get(i) } );。 DJANGO 日志记录中是否存在这种格式?

标签: django logging


【解决方案1】:

Django 刚刚使用了 Python 的日志框架。

Python 日志记录中没有 entering/leaving 方法,因为不需要它们。例如,你可以这样做

logger.debug('Entering')

logger.debug('Leaving')

在方法的开始/返回处,并在格式字符串中使用%(funcName)s 来指示正在进入/退出的方法。

如果您想在日志中显示上下文信息(例如用户 ID 或电子邮件),请参阅this documentation

在 Python 日志记录中,您不需要传递 Object 的数组,因为您可以执行类似的操作

logger.debug('processing [%s]: %s', i, list[i])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 2012-06-24
    • 2011-02-27
    • 2011-09-16
    • 1970-01-01
    相关资源
    最近更新 更多