如何在django中添加日志功能
官方文档猛戳这里
在settings中配置以下代码
#LOGGING_DIR日志文件存放目录
LOGGING_DIR="logs"#日志存放路径
ifnotos.path.exists(LOGGING_DIR):
os.mkdir(LOGGING_DIR)
importlogging
LOGGING={
'version':1,
'disable_existing_loggers':False,
'formatters':{#格式化器
'standard':{
'format':'[%(levelname)s][%(asctime)s][%(filename)s][%(funcName)s][%(lineno)d]>%(message)s'
},
'simple':{
'format':'[%(levelname)s]>%(message)s'
},
},
'filters':{
'require_debug_true':{
'()':'django.utils.log.RequireDebugTrue',
},
},
'handlers':{
'console':{
'level':'DEBUG',
'filters':['require_debug_true'],
'class':'logging.StreamHandler',
'formatter':'simple'
},
'file_handler':{
'level':'INFO',
'class':'logging.handlers.TimedRotatingFileHandler',
'filename':'%s/django.log'%LOGGING_DIR,#具体日志文件的名字
'formatter':'standard'
},#用于文件输出
'mail_admins':{
'level':'ERROR',
'class':'django.utils.log.AdminEmailHandler',
'formatter':'standard'
},
},
'loggers':{#日志分配到哪个handlers中
'mydjango':{
'handlers':['console','file_handler'],
'level':'DEBUG',
'propagate':True,
},
'django.request':{
'handlers':['mail_admins'],
'level':'ERROR',
'propagate':False,
},
####如果要将get,post请求同样写入到日志文件中,则这个触发器的名字必须交django,然后写到handler中
}
}
在settings中写完配置之后,下面就要具体到相应的视图函数中了。注意:这里我们在实施到具体函数或方法的时候需要手动捕获异常
然后视图函数中
#这里我们模拟一个登陆来写
log=logging.getLogger('mydjango')#这里的mydjango是settings中loggers里面对应的名字
classLogin(View):
defget(self,request):
returnrender(request,'login.html')
defpost(self,request):
user=request.POST.get('username')
pwd=request.POST.get('password')
try:
s=1/0
exceptExceptionase:
log.error(e)
总结
以上所述是小编给大家介绍的如何在django中添加日志功能,希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。