zoukankan      html  css  js  c++  java
  • django 开发之自定义日志器(二)

    2016-08-24

    需求

    在我们的真实环境中当我们出现错误的时候我们要记录下来,便于我们分析差错。

    关于日志的代码文件

     1 # 自定义日志输出信息
     2 LOGGING = {
     3     'version': 1,
     4     'disable_existing_loggers': True,
     5     'formatters': {
     6         'standard': {
     7             'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'}  #日志格式
     8     },
     9     'filters': {
    10     },
    11     'handlers': {
    12         'mail_admins': {
    13             'level': 'ERROR',
    14             'class': 'django.utils.log.AdminEmailHandler',
    15             'include_html': True,
    16             },
    17         'default': {
    18             'level':'DEBUG',
    19             'class':'logging.handlers.RotatingFileHandler',
    20             'filename': 'log/all.log',     #日志输出文件
    21             'maxBytes': 1024*1024*5,                  #文件大小
    22             'backupCount': 5,                         #备份份数
    23             'formatter':'standard',                   #使用哪种formatters日志格式
    24         },
    25         'error': {
    26             'level':'ERROR',
    27             'class':'logging.handlers.RotatingFileHandler',
    28             'filename': 'log/error.log',
    29             'maxBytes':1024*1024*5,
    30             'backupCount': 5,
    31             'formatter':'standard',
    32             },
    33         'console':{
    34             'level': 'DEBUG',
    35             'class': 'logging.StreamHandler',
    36             'formatter': 'standard'
    37         },
    38         'request_handler': {
    39             'level':'DEBUG',
    40             'class':'logging.handlers.RotatingFileHandler',
    41             'filename': 'log/script.log',
    42             'maxBytes': 1024*1024*5,
    43             'backupCount': 5,
    44             'formatter':'standard',
    45             },
    46         'scprits_handler': {
    47             'level':'DEBUG',
    48             'class':'logging.handlers.RotatingFileHandler',
    49             'filename':'log/script.log',
    50             'maxBytes': 1024*1024*5,
    51             'backupCount': 5,
    52             'formatter':'standard',
    53             }
    54     },
    55     #日志器设置
    56     'loggers': {
    57         'django': {
    58             'handlers': ['default', 'console'],
    59             'level': 'DEBUG',
    60             'propagate': False
    61         },
    62         'django.request': {
    63             'handlers': ['request_handler'],
    64             'level': 'DEBUG',
    65             'propagate': False,
    66             },
    67         'scripts': {
    68             'handlers': ['scprits_handler'],
    69             'level': 'INFO',
    70             'propagate': False
    71         },
    72         'blog.views': {
    73             'handlers': ['default', 'error'],
    74             'level': 'DEBUG',
    75             'propagate': True
    76         },
    77     }
    78 }
    View Code
    • 代码中定义了日志的输出位置:

    • 所以我们要创建一个叫做log 的目录,用于存放项目的文件:

    • 然后还定义了blog的view 日志器,作用是当view里面出错的时候我们能记录下来错误的日志信息

    • 接着我们要在view里面做相关的设置写入如下两行代码:

    • 接着我们做个测试在view 里面打开一个错误的文件来捕获异常,写入日志文件中

    • 然后我们重启网页访问
    • 打开这个日志目录下的 error 文件就会出现我们捕获的异常

  • 相关阅读:
    Maven Nexus 上传jar到本地仓库。
    java Web与Flex通过HTTP service 通信 并解析Map 数据。
    JACOB调用WORD书签修改WORD文档,并生成html显示到页面中
    去除java list 中的 [] 括号
    2019-2020-2 20175222 《网络对抗技术》Exp9 Web安全基础
    2019-2020-2 20175222 《网络对抗技术》 Exp 8 Web基础
    2019-2020-2 20175222 《网络对抗技术》 Exp7 网络欺诈防范
    2019-2020-2 20175222 《网络对抗技术》 Exp6 MSF基础应用
    2019-2020-2 20175222《网络对抗技术》 Exp5 信息搜集与漏洞扫描
    2019-2020-2 20175222罗雨石 《网络对抗技术》 Exp4 恶意代码分析
  • 原文地址:https://www.cnblogs.com/yubenliu/p/5800626.html
Copyright © 2011-2022 走看看