码迷,mamicode.com
首页 > 其他好文 > 详细

django 开发之自定义日志器

时间:2016-08-23 20:28:04      阅读:404      评论:0      收藏:0      [点我收藏+]

标签:

需求

在我们的真实环境中当我们出现错误的时候我们要记录下来,便于我们分析差错。

 

关于日志的代码文件

技术分享
 1 # 自定义日志输出信息
 2 LOGGING = {
 3     ‘version‘: 1,
 4     ‘disable_existing_loggers‘: True,
 5     ‘formatters‘: {
 6         ‘standard‘: {
 7             ‘format‘: ‘%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s‘}  #日志格式
 8     },
 9     ‘filters‘: {
10     },
11     ‘handlers‘: {
12         ‘mail_admins‘: {
13             ‘level‘: ‘ERROR‘,
14             ‘class‘: ‘django.utils.log.AdminEmailHandler‘,
15             ‘include_html‘: True,
16             },
17         ‘default‘: {
18             ‘level‘:‘DEBUG‘,
19             ‘class‘:‘logging.handlers.RotatingFileHandler‘,
20             ‘filename‘: ‘log/all.log‘,     #日志输出文件
21             ‘maxBytes‘: 1024*1024*5,                  #文件大小
22             ‘backupCount‘: 5,                         #备份份数
23             ‘formatter‘:‘standard‘,                   #使用哪种formatters日志格式
24         },
25         ‘error‘: {
26             ‘level‘:‘ERROR‘,
27             ‘class‘:‘logging.handlers.RotatingFileHandler‘,
28             ‘filename‘: ‘log/error.log‘,
29             ‘maxBytes‘:1024*1024*5,
30             ‘backupCount‘: 5,
31             ‘formatter‘:‘standard‘,
32             },
33         ‘console‘:{
34             ‘level‘: ‘DEBUG‘,
35             ‘class‘: ‘logging.StreamHandler‘,
36             ‘formatter‘: ‘standard‘
37         },
38         ‘request_handler‘: {
39             ‘level‘:‘DEBUG‘,
40             ‘class‘:‘logging.handlers.RotatingFileHandler‘,
41             ‘filename‘: ‘log/script.log‘,
42             ‘maxBytes‘: 1024*1024*5,
43             ‘backupCount‘: 5,
44             ‘formatter‘:‘standard‘,
45             },
46         ‘scprits_handler‘: {
47             ‘level‘:‘DEBUG‘,
48             ‘class‘:‘logging.handlers.RotatingFileHandler‘,
49             ‘filename‘:‘log/script.log‘,
50             ‘maxBytes‘: 1024*1024*5,
51             ‘backupCount‘: 5,
52             ‘formatter‘:‘standard‘,
53             }
54     },
55     #日志器设置
56     ‘loggers‘: {
57         ‘django‘: {
58             ‘handlers‘: [‘default‘, ‘console‘],
59             ‘level‘: ‘DEBUG‘,
60             ‘propagate‘: False
61         },
62         ‘django.request‘: {
63             ‘handlers‘: [‘request_handler‘],
64             ‘level‘: ‘DEBUG‘,
65             ‘propagate‘: False,
66             },
67         ‘scripts‘: {
68             ‘handlers‘: [‘scprits_handler‘],
69             ‘level‘: ‘INFO‘,
70             ‘propagate‘: False
71         },
72         ‘blog.views‘: {
73             ‘handlers‘: [‘default‘, ‘error‘],
74             ‘level‘: ‘DEBUG‘,
75             ‘propagate‘: True
76         },
77     }
78 }
View Code

 

代码中定义了日志的输出位置:

技术分享

所以我们要创建一个叫做log 的目录,用于存放项目的文件:

技术分享

然后还定义了blog的view 日志器,作用是当view里面出错的时候我们能记录下来错误的日志信息

技术分享

接着我们要在view里面做相关的设置写入如下两行代码:

技术分享

接着我们做个测试在view 里面打开一个错误的文件来捕获异常,写入日志文件中

技术分享

然后我们重启网页访问

打开这个日志目录下的 error 文件就会出现我们捕获的异常

技术分享

 

django 开发之自定义日志器

标签:

原文地址:http://www.cnblogs.com/yubenliu/p/5800626.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!