本文实例讲述了python django框架实现应用添加logging日志。分享给大家供大家参考,具体如下:
django uses python's builtin logging module to perform system logging.
django使用python的内建日志模块来记录系统日志,但是要想在django应用中开启此功能使我们的部分操作能够被记录到日志文件,那么就需要进行一定的配置并且根据具体的log类型来进行调用
step 1:配置setting.py
以下配置除了filename和formatters需要根据实际情况来修改外都可以保持不变
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
35
36
37
38
|
logging = {
'version' : 1 ,
'disable_existing_loggers' : false, #此选项开启表示禁用部分日志,不建议设置为true
'formatters' : {
'verbose' : {
'format' : '%(levelname)s %(asctime)s %(message)s' #日志格式
},
'simple' : {
'format' : '%(levelname)s %(message)s'
},
},
'filters' : {
'require_debug_true' : {
'()' : 'django.utils.log.requiredebugtrue' , #过滤器,只有当setting的debug = true时生效
},
},
'handlers' : {
'console' : {
'level' : 'debug' ,
'filters' : [ 'require_debug_true' ],
'class' : 'logging.streamhandler' ,
'formatter' : 'verbose'
},
'file' : { #重点配置部分
'level' : 'debug' ,
'class' : 'logging.filehandler' ,
'filename' : '/home/lockey23/myapp/myapp/debug.log' , #日志保存文件
'formatter' : 'verbose' #日志格式,与上边的设置对应选择
}
},
'loggers' : {
'django' : { #日志记录器
'handlers' : [ 'file' ],
'level' : 'debug' ,
'propagate' : true,
}
},
}
|
step 2: 实际调用
比如说我们想在某些view中调用logger来记录操作,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import logging
logger = logging.getlogger( 'django' ) #这里的日志记录器要和setting中的loggers选项对应,不能随意给参
#接下来就是调用了:
logger.debug( '[debug] ' + msg)
logger.info( '[success] ' + msg)
logger.warning( '[warning] ' + msg)
logger.error( '[error] ' + msg)
logger.critical( '[critical] ' + msg)
......
if auth_pass:
logger.info( '[success] ' + user + ' has logged in!' )
return jsonresponse({ 'result' : 'success' , 'message' : 'login successfully.' })
else :
logger.warning( '[failed] ' + user + ' failed to login!' )
|
希望本文所述对大家基于django框架的python程序设计有所帮助。
原文链接:https://blog.csdn.net/Lockey23/article/details/80903345