Python django中的日志格式化程序

Python django中的日志格式化程序,python,django,logging,Python,Django,Logging,从中,以下是日志记录的示例格式: 'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s %(module)s: %(message)s' } } 这会打印出如下内容: 错误2012-05-22 14:33:07261视图428924398727168您好 是否有可以包含在字符串格式中的项目列表?例如,我希望能够看到创建消息的函数和应用程序,例如: 错误时间myproject.myapp

从中,以下是日志记录的示例格式:

'formatters': {
    'verbose': {
        'format': '%(levelname)s %(asctime)s %(module)s: %(message)s'
    }
}
这会打印出如下内容:

错误2012-05-22 14:33:07261视图428924398727168您好

是否有可以包含在字符串格式中的项目列表?例如,我希望能够看到创建消息的函数和应用程序,例如:

错误时间myproject.myapp.views.login\u函数消息

来自:

  • asctime
    %(asctime)s

    创建时的人类可读时间。默认情况下,格式为“2003-07-08 16:49:45896”(逗号后的数字是时间的毫秒部分)

  • 已创建
    %(已创建)f

    创建的时间(由返回)

  • 文件名
    %(文件名)s

    路径名的文件名部分

  • funcName
    %(funcName)s

    包含日志调用的函数的名称

  • levelname
    %(levelname)s
    消息的文本日志记录级别(“调试”、“信息”、“警告”、“错误”、“关键”)

  • levelno
    %(levelno)s

    消息的数字日志记录级别(调试、信息、警告、错误、严重)

  • lineno
    %(lineno)d

    发出日志调用的源行号(如果可用)

  • 模块
    %(模块)s

    模块(文件名的名称部分)

  • 毫秒
    %(毫秒)d

    创建时的毫秒部分

  • 消息
    %(消息)s

    记录的消息,计算为
    msg%args
    。这是在调用时设置的

  • 名称
    %(名称)s

    用于记录呼叫的记录器的名称

  • 路径名
    %(路径名)s

    发出日志调用的源文件的完整路径名(如果可用)

  • 过程
    %(过程)d

    进程ID(如果可用)

  • processName
    %(processName)s

    进程名称(如果可用)

  • relativeCreated
    %(relativeCreated)d

    相对于加载日志模块的时间,创建日志模块的时间(毫秒)

  • 线程
    %(线程)d

    线程ID(如果可用)

  • threadName
    %(threadName)s

    线程名称(如果可用)

以下参数也可用于,尽管它们不打算包含在格式字符串中:

  • 参数
    参数元组合并到msg中以生成消息

  • 交易所信息:
    异常元组(la),或者,如果没有发生异常,
    None

  • 消息
    原始日志调用中传递的格式字符串。与参数合并以生成消息或任意对象(请参阅)


第1步。编辑settings.py文件

$ cd mysite
$ vim mysite/settings.py
'formatters': {
    'simple': {
        'format': '%(levelname)s %(asctime)s %(name)s.%(funcName)s:%(lineno)s- %(message)s'
    },
},
第二步。您应该在编码中使用logger,如下所示:

import logging
logger = logging.getLogger(__name__)

def fn1() {
    logger.info('great!')
    logger.info(__name__)
}
希望对你有帮助