如何在django中添加日志功能


Posted in Python onFebruary 06, 2020

官方文档 猛戳这里

在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 相关文章推荐
Python中的测试模块unittest和doctest的使用教程
Apr 14 Python
Python NumPy库安装使用笔记
May 18 Python
Python实现八大排序算法
Aug 13 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
python实现员工管理系统
Jan 11 Python
对Python中type打开文件的方式介绍
Apr 28 Python
Python生成器定义与简单用法实例分析
Apr 30 Python
windows下python安装pip图文教程
May 25 Python
python爬虫-模拟微博登录功能
Sep 12 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
Selenium 配置启动项参数的方法
Dec 04 Python
python实现图片批量压缩
Apr 24 Python
keras tensorflow 实现在python下多进程运行
Feb 06 #Python
Scrapy框架实现的登录网站操作示例
Feb 06 #Python
Tensorflow 多线程设置方式
Feb 06 #Python
Scrapy框架基本命令与settings.py设置
Feb 06 #Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 #Python
Python输出指定字符串的方法
Feb 06 #Python
python实现简单飞行棋
Feb 06 #Python
You might like
php后门URL的防范
2013/11/12 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
js转义字符介绍
2013/11/05 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
Python实现简单拆分PDF文件的方法
2015/07/30 Python
python实现音乐下载器
2018/04/15 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
python实现汽车管理系统
2018/11/30 Python
Python实现AI换脸功能
2020/04/10 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
python中turtle库的简单使用教程
2020/11/11 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
台湾森森购物网:U-mall
2017/10/16 全球购物
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
优秀应届生推荐信
2013/11/09 职场文书
教师绩效考核方案
2014/01/21 职场文书
小学生评语集锦
2014/04/18 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
创意婚礼策划方案
2014/05/18 职场文书
考察现实表现材料
2014/05/19 职场文书
python 模块重载的五种方法
2021/04/24 Python
Redis实现短信验证码登录的示例代码
2022/06/14 Redis