如何在django中添加日志功能

 更新时间:2020年02月06日 09:43:18   作者:子钦加油  
这篇文章主要介绍了django中添加日志功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

官方文档 猛戳这里

在settings中配置以下代码

#LOGGING_DIR 日志文件存放目录
LOGGING_DIR = "logs" # 日志存放路径
if not os.path.exists(LOGGING_DIR):
 os.mkdir(LOGGING_DIR)
import logging
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里面对应的名字

class Login(View):
 def get(self,request):
  return render(request,'login.html')
 def post(self,request):
  user = request.POST.get('username')
  pwd = request.POST.get('password')
  try:
   s = 1/0
  except Exception as e:
   log.error(e)

总结

以上所述是小编给大家介绍的如何在django中添加日志功能,希望对大家有所帮助!

相关文章

  • Python构建机器学习API服务的操作过程

    Python构建机器学习API服务的操作过程

    这篇文章主要介绍了Python构建机器学习API服务的操作过程,通过本文的指导,读者可以学习如何使用Python构建机器学习模型的API服务,并了解到在实际应用中需要考虑的一些关键问题和解决方案,从而为自己的项目提供更好的支持和服务,需要的朋友可以参考下
    2024-04-04
  • python爬虫的工作原理

    python爬虫的工作原理

    本文主要介绍了python爬虫的工作原理,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Python 不设计 do-while 循环结构的理由

    Python 不设计 do-while 循环结构的理由

    Python作为一种语言不支持do-while循环。 但是,我们可以采用一种变通方法来模拟do-while循环 。下面通过本文给大家分享下Python 不设计do-while 循环结构的理由,需要的朋友可以参考下
    2022-01-01
  • tensorflow没有output结点,存储成pb文件的例子

    tensorflow没有output结点,存储成pb文件的例子

    今天小编就为大家分享一篇tensorflow没有output结点,存储成pb文件的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 使用pyinstaller逆向.pyc文件

    使用pyinstaller逆向.pyc文件

    这篇文章主要介绍了使用pyinstaller逆向.pyc文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • python自动化测试中装饰器@ddt与@data源码深入解析

    python自动化测试中装饰器@ddt与@data源码深入解析

    最近工作中接触了python自动化测试,所以下面这篇文章主要给大家介绍了关于python自动化测试中装饰器@ddt与@data源码解析的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 给Python学习者的文件读写指南(含基础与进阶)

    给Python学习者的文件读写指南(含基础与进阶)

    今天,猫猫跟大家一起,好好学习Python文件读写的内容,这部分内容特别常用,掌握后对工作和实战都大有益处,学习是循序渐进的过程,欲速则不达
    2020-01-01
  • python读取图片颜色值并生成excel像素画的方法实例

    python读取图片颜色值并生成excel像素画的方法实例

    这篇文章主要给大家介绍了关于python读取图片颜色值并生成excel像素画的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 如何通过Flask的request对象获取url

    如何通过Flask的request对象获取url

    这篇文章主要介绍了如何通过Flask的request对象获取url问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 一篇文章带你了解kali局域网攻击

    一篇文章带你了解kali局域网攻击

    这篇文章主要给大家介绍了kali的局域网攻击,小编觉得这篇文章还是不错的,使用起来也是非常方便的,需要的朋友可以参考下
    2021-08-08

最新评论