如何在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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。