首页 > 编程 > Python > 正文

Django 使用logging打印日志的实例

2020-01-04 15:19:17
字体:
来源:转载
供稿:网友

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(‘django')logger.info(“This is an error msg”)

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

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

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

https://docs.djangoproject.com/en/1.11/topics/logging/

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


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表