码迷,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
迷上了代码!