您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django 使用logging打印日志的实例

5b51 2022/1/14 8:19:41 python 字数 3887 阅读 430 来源 www.jb51.cc/python

Django使用python自带的logging作为日志打印工具。简单介绍下logging。 logging是线程安全的,其主要由4部分组成:

概述

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','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打印日志的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。

总结

以上是编程之家为你收集整理的Django 使用logging打印日志的实例全部内容,希望文章能够帮你解决Django 使用logging打印日志的实例所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶