Django 使用logging打印日志的实例

2018-09-22 00:49

阅读:583

  Django使用python自带的logging 作为日志打印工具。简单介绍下logging。

  logging 是线程安全的,其主要由4部分组成:

  Logger

  用户使用的直接接口,将日志传递给Handler

  Handler

  控制日志输出到哪里,console,file…

  一个logger可以有多个Handler

  Filter

  控制哪些日志可以从logger流向Handler

  Formatter

  控制日志的格式

  用户使用logging.getLogger([name])获取logger实例。

  如果没有名字,返回logger层级中的根logger(root logger)。以相同名字调用该函数总是返回同一个logger实例。这意味着logger实例不需要在应用的各个部分之间传来传去。

  Django通过在settings文件中使用LOGGING来定制日志输出(包括定义logger, handler, formatter等)

  例如,settings文件中定义如下:

   LOGGING = { version: 1, disable_existing_loggers: False, formatters: { verbose: { format: [%(asctime)s] [%(levelname)s] %(message)s }, }, handlers: { console:{ level:INFO, class:logging.StreamHandler, formatter: verbose }, file: { level: INFO, class: logging.FileHandler, filename: D:/monitor.log, formatter: verbose }, email: { level: ERROR, class: django.utils.log.AdminEmailHandler, include_html : True, } }, loggers: { django: { handlers: [console, file, email], level: INFO, propagate: True, }, }, }

  代码中打印日志:

   logger = logging.getLogger(‘“This is an error msg”)

  [2017-07-15 17:44:51,316] [ERROR] This is an error msg

  这样,日志就被打印到终端和文件。

  关于django logging 想了解更多,可参考官网

  以上这篇Django 使用logging打印日志的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。


评论


亲,登录后才可以留言!