在settings中设置日志的相关信息,然后再逻辑代码区就可以保存相应的信息了

#简单设置:

  1. LOGGING = {
  2. 'version': 1,
  3. 'disable_existing_loggers': False,
  4. 'handlers': {
  5. 'console':{
  6. 'level':'DEBUG',
  7. 'class':'logging.StreamHandler',
  8. },
  9. },
  10. 'loggers': {
  11. 'django.db.backends': {
  12. 'handlers': ['console'],
  13. 'propagate': True,
  14. 'level':'DEBUG',
  15. },
  16. }
  17. }

#下面是稍微详细一点的配置,可以直接在以后的项目中引用。

  1. # 定义一下log文件存放的位置
  2. BASE_LOG_DIR = os.path.join(BASE_DIR, "log")
  3. # Django项目日志配置
  4. LOGGING = {
  5. # 固定搭配的一个版本号
  6. 'version': 1,
  7. # 禁用已经存在的logger实例
  8. 'disable_existing_loggers': False,
  9. # 定义了三个日志打印或保存的格式
  10. 'formatters': {
  11. # 标准的
  12. 'standard': {
  13. 'format': '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]'
  14. '[%(levelname)s][%(message)s]'
  15. },
  16. # 简单的格式
  17. 'simple': {
  18. 'format': '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
  19. },
  20. # 收集
  21. 'collect': {
  22. 'format': '[%(asctime)s]%(message)s'
  23. }
  24. },
  25. # 日志的过滤条件
  26. 'filters': {
  27. # 需要debug=True
  28. 'require_debug_true': {
  29. '()': 'django.utils.log.RequireDebugTrue',
  30. },
  31. },
  32.  
  33. # 定义几个处理日志的方法
  34. 'handlers': {
  35. # 把日志都打印到终端窗口
  36. 'console': {
  37. 'level': 'DEBUG',
  38. 'filters': ['require_debug_true'], # 只有在Django debug为True时才在屏幕打印日志
  39. 'class': 'logging.StreamHandler',
  40. 'formatter': 'simple'
  41. },
  42. # 默认
  43. 'default': {
  44. 'level': 'INFO',
  45. 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
  46. 'filename': os.path.join(BASE_LOG_DIR, "s8_info.log"), # 日志文件
  47. 'maxBytes': 1024 * 1024 * 50, # 日志大小 50M
  48. 'backupCount': 5, # 日志文件个数
  49. 'formatter': 'standard',
  50. 'encoding': 'utf-8',
  51. },
  52. # 专门记录错误日志的
  53. 'error': {
  54. 'level': 'ERROR',
  55. 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
  56. 'filename': os.path.join(BASE_LOG_DIR, "s8_err.log"), # 日志文件
  57. 'maxBytes': 1024 * 1024 * 50, # 日志大小 50M
  58. 'backupCount': 5,
  59. 'formatter': 'standard',
  60. 'encoding': 'utf-8',
  61. },
  62. 'collect': {
  63. 'level': 'INFO',
  64. 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件,自动切
  65. 'filename': os.path.join(BASE_LOG_DIR, "s8_collect.log"),
  66. 'maxBytes': 1024 * 1024 * 50, # 日志大小 50M
  67. 'backupCount': 5,
  68. 'formatter': 'collect',
  69. 'encoding': "utf-8"
  70. }
  71. },
  72. # 最后处理logger实例的配置
  73. 'loggers': {
  74. # 默认的logger应用如下配置
  75. '': {
  76. 'handlers': ['default', 'console', 'error'], # 上线之后可以把'console'移除
  77. 'level': 'DEBUG',
  78.  
  79. },
  80. # 名为 'collect'的logger还单独处理
  81. 'collect': {
  82. 'handlers': ['console', 'collect'],
  83. 'level': 'INFO',
  84. },
  85. 'collect.son': {
  86. 'handlers': ['console',],
  87. 'level': 'INFO',
  88. 'propagate': False,
  89. }
  90. },
  91. }

Django中日志管理的更多相关文章

  1. web项目中日志管理工具的使用

    在web项目中,很多时候会用到日志管理工具,常见的日志管理用具有:JDK logging(配置文件:logging.properties) 和log4j(配置文件:log4j.properties) ...

  2. django中日志配置

    # ======日志配置====== # 错误优先级:NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL # Djang ...

  3. django中日志使用学习记录

    在setting中加入以下代码 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'verbose ...

  4. Erlang中日志管理

    http://blog.sina.com.cn/s/blog_96b8a1540101317g.html 一.基本概念 在Erlang中,通过两个概念管理错误事情:事件管理器(event manage ...

  5. SpringBoot | 第二十三章:日志管理之整合篇

    前言 在本系列<第四章:日志管理>中,由于工作中日志这块都是走默认配置,也没有深入了解过,因为部署过程中直接使用了linux中的输出重定向功能,如java -jar xx.jar > ...

  6. Django 中的 日志处理

    日志处理: 上线后必须使用 便于以后的 维护 管理 根据日志 处理 BUG 在 项目中 定义一个 存放日志的 文件夹 log 存放所有 等级 的 日志 配置: 将下面的日志的 配置 写入 django ...

  7. 利用log4j+mongodb实现分布式系统中日志统一管理

    背景     在分布式系统当中,我们有各种各样的WebService,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出.为了方便对这些日志进行统一管理和分析.我们可以将日志统一输出到指定的数 ...

  8. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

    一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...

  9. SQL Server中的事务日志管理(7/9):处理日志过度增长

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

随机推荐

  1. jquery插件:aotocomplete

    aotocomplete.js http://blog.csdn.net/smeyou/article/details/7980273?_t_t_t=0.3565731019350138 $(func ...

  2. Asp.net MVC 插件式应用框架

    Asp.net MVC 插件式应用框架 2013年05月13日 10:16供稿中心: 互联网运营部 摘要:这几年来做了很多个网站系统,一直坚持使用asp.net mvc建站,每次都从头开始做Layou ...

  3. C#写csv文件

    1.在项目中经常需要把报表下载为csv格式的文件,如何在C#中写csv文件,以下为一个简化的例子,不使用任何控件,旨在说明用法. 前端view 下载结果 2.创建一个MVC项目(Intranet Ap ...

  4. const_cast去除const限制,同一片内存

    本质很简单,但一些优化 和 编程上的错误,却让人看不清本质. :const_cast<type_id> (expression) 该运算符用来修改类型的const或volatile属性.除 ...

  5. [译]GLUT教程 - 移动镜头3

    Lighthouse3d.com >> GLUT Tutorial >> Input >> Moving the Camera III 上一节的示例中我们用键盘更改 ...

  6. cxf + spring + maven 开发webservice

    1.maven 配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...

  7. u-boot中断功能初步分析之---------按键中断

    作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 以前一直有个疑问,在U-boot下到底能不能使用中断,为了验证这个问题,于是乎,昨天晚上我在自己的 TQ2 ...

  8. lnmp 环境require(): open_basedir restriction in effect 错误

    最近配置开发用的lnmp环境,环境配置完成后,爆500错误,查看nginx错误日志 open_basedir 将 PHP 所能打开的文件限制在指定的目录树,包括文件本身 错误日志显示,访问脚本不在 o ...

  9. python pytest

    之前一直用unittest ,现在学习pytest 看看那个好 1. 安装 pip install -U pytest py.test --version 2. 只需要按照下面的规则: 测试文件以te ...

  10. 网页上10秒倒计时,完了后就自动跳转到另一个网页上html代码

    用html代码的话就这样: <meta http-equiv="Refresh" content="10;URL=http://www.baidu.com" ...