Django 使用logging打印日志的实例


本文摘自php中文网,作者不言,侵删。

下面为大家分享一篇Django 使用logging打印日志的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

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文件中定义如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

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,

  },

 },

}

代码中打印日志:

1

2

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如何加载css和js文件以及静态图片


以上就是Django 使用logging打印日志的实例的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

%s在Python中是什么意思

Python适合在什么系统

Python地理数据处理之分析使用gr进行矢量

Python获取人脸的代码分享

Python怎么换行写代码

Python中排序算法的实现方法总结(代码)

django数据库连接丢失的问题解决(示例讲解)

Python什么意思

Python中numpy与array应该怎样转换

Python列表如何统计元素的出现频率?(代码示例)

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...