Django中日志管理
在settings中设置日志的相关信息,然后再逻辑代码区就可以保存相应的信息了
#简单设置:
- LOGGING = {
- 'version': 1,
- 'disable_existing_loggers': False,
- 'handlers': {
- 'console':{
- 'level':'DEBUG',
- 'class':'logging.StreamHandler',
- },
- },
- 'loggers': {
- 'django.db.backends': {
- 'handlers': ['console'],
- 'propagate': True,
- 'level':'DEBUG',
- },
- }
- }
#下面是稍微详细一点的配置,可以直接在以后的项目中引用。
- # 定义一下log文件存放的位置
- BASE_LOG_DIR = os.path.join(BASE_DIR, "log")
- # Django项目日志配置
- LOGGING = {
- # 固定搭配的一个版本号
- 'version': 1,
- # 禁用已经存在的logger实例
- 'disable_existing_loggers': False,
- # 定义了三个日志打印或保存的格式
- 'formatters': {
- # 标准的
- 'standard': {
- 'format': '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]'
- '[%(levelname)s][%(message)s]'
- },
- # 简单的格式
- 'simple': {
- 'format': '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
- },
- # 收集
- 'collect': {
- 'format': '[%(asctime)s]%(message)s'
- }
- },
- # 日志的过滤条件
- 'filters': {
- # 需要debug=True
- 'require_debug_true': {
- '()': 'django.utils.log.RequireDebugTrue',
- },
- },
- # 定义几个处理日志的方法
- 'handlers': {
- # 把日志都打印到终端窗口
- 'console': {
- 'level': 'DEBUG',
- 'filters': ['require_debug_true'], # 只有在Django debug为True时才在屏幕打印日志
- 'class': 'logging.StreamHandler',
- 'formatter': 'simple'
- },
- # 默认
- 'default': {
- 'level': 'INFO',
- 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
- 'filename': os.path.join(BASE_LOG_DIR, "s8_info.log"), # 日志文件
- 'maxBytes': 1024 * 1024 * 50, # 日志大小 50M
- 'backupCount': 5, # 日志文件个数
- 'formatter': 'standard',
- 'encoding': 'utf-8',
- },
- # 专门记录错误日志的
- 'error': {
- 'level': 'ERROR',
- 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
- 'filename': os.path.join(BASE_LOG_DIR, "s8_err.log"), # 日志文件
- 'maxBytes': 1024 * 1024 * 50, # 日志大小 50M
- 'backupCount': 5,
- 'formatter': 'standard',
- 'encoding': 'utf-8',
- },
- 'collect': {
- 'level': 'INFO',
- 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
- 'filename': os.path.join(BASE_LOG_DIR, "s8_collect.log"),
- 'maxBytes': 1024 * 1024 * 50, # 日志大小 50M
- 'backupCount': 5,
- 'formatter': 'collect',
- 'encoding': "utf-8"
- }
- },
- # 最后处理logger实例的配置
- 'loggers': {
- # 默认的logger应用如下配置
- '': {
- 'handlers': ['default', 'console', 'error'], # 上线之后可以把'console'移除
- 'level': 'DEBUG',
- },
- # 名为 'collect'的logger还单独处理
- 'collect': {
- 'handlers': ['console', 'collect'],
- 'level': 'INFO',
- },
- 'collect.son': {
- 'handlers': ['console',],
- 'level': 'INFO',
- 'propagate': False,
- }
- },
- }
Django中日志管理的更多相关文章
- web项目中日志管理工具的使用
在web项目中,很多时候会用到日志管理工具,常见的日志管理用具有:JDK logging(配置文件:logging.properties) 和log4j(配置文件:log4j.properties) ...
- django中日志配置
# ======日志配置====== # 错误优先级:NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL # Djang ...
- django中日志使用学习记录
在setting中加入以下代码 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'verbose ...
- Erlang中日志管理
http://blog.sina.com.cn/s/blog_96b8a1540101317g.html 一.基本概念 在Erlang中,通过两个概念管理错误事情:事件管理器(event manage ...
- SpringBoot | 第二十三章:日志管理之整合篇
前言 在本系列<第四章:日志管理>中,由于工作中日志这块都是走默认配置,也没有深入了解过,因为部署过程中直接使用了linux中的输出重定向功能,如java -jar xx.jar > ...
- Django 中的 日志处理
日志处理: 上线后必须使用 便于以后的 维护 管理 根据日志 处理 BUG 在 项目中 定义一个 存放日志的 文件夹 log 存放所有 等级 的 日志 配置: 将下面的日志的 配置 写入 django ...
- 利用log4j+mongodb实现分布式系统中日志统一管理
背景 在分布式系统当中,我们有各种各样的WebService,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出.为了方便对这些日志进行统一管理和分析.我们可以将日志统一输出到指定的数 ...
- 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架
一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...
- SQL Server中的事务日志管理(7/9):处理日志过度增长
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
随机推荐
- jquery插件:aotocomplete
aotocomplete.js http://blog.csdn.net/smeyou/article/details/7980273?_t_t_t=0.3565731019350138 $(func ...
- Asp.net MVC 插件式应用框架
Asp.net MVC 插件式应用框架 2013年05月13日 10:16供稿中心: 互联网运营部 摘要:这几年来做了很多个网站系统,一直坚持使用asp.net mvc建站,每次都从头开始做Layou ...
- C#写csv文件
1.在项目中经常需要把报表下载为csv格式的文件,如何在C#中写csv文件,以下为一个简化的例子,不使用任何控件,旨在说明用法. 前端view 下载结果 2.创建一个MVC项目(Intranet Ap ...
- const_cast去除const限制,同一片内存
本质很简单,但一些优化 和 编程上的错误,却让人看不清本质. :const_cast<type_id> (expression) 该运算符用来修改类型的const或volatile属性.除 ...
- [译]GLUT教程 - 移动镜头3
Lighthouse3d.com >> GLUT Tutorial >> Input >> Moving the Camera III 上一节的示例中我们用键盘更改 ...
- cxf + spring + maven 开发webservice
1.maven 配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...
- u-boot中断功能初步分析之---------按键中断
作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 以前一直有个疑问,在U-boot下到底能不能使用中断,为了验证这个问题,于是乎,昨天晚上我在自己的 TQ2 ...
- lnmp 环境require(): open_basedir restriction in effect 错误
最近配置开发用的lnmp环境,环境配置完成后,爆500错误,查看nginx错误日志 open_basedir 将 PHP 所能打开的文件限制在指定的目录树,包括文件本身 错误日志显示,访问脚本不在 o ...
- python pytest
之前一直用unittest ,现在学习pytest 看看那个好 1. 安装 pip install -U pytest py.test --version 2. 只需要按照下面的规则: 测试文件以te ...
- 网页上10秒倒计时,完了后就自动跳转到另一个网页上html代码
用html代码的话就这样: <meta http-equiv="Refresh" content="10;URL=http://www.baidu.com" ...