Django日志模块配置

django日志模块
  • 日志模块工作流程
    1. 产生日志(日志实例)
    2. 渲染格式(格式化)
    3. 匹配过滤(过滤器)
    4. 持久化(处理器)
  • 格式器formatter

    关键词描述
    asctime时间(2018-01-01 23:05:15,000)
    threadName线程名字
    thread线程id
    pathname日志的文件路径
    funcName打印日志的函数名字
    lineno打印日志的代码行
    levelname日志打印级别
    message日志的具体信息

    asctime pathname funName lineno levelname message

  • 处理器handler

    对日志进行处理,比如:写进文件,打印屏幕

  • 过滤器filter

    import logging
    class TestFilter(logging.Filter):
      def filter(self,record):
          if '----' in record.msg:
              return False   # 会被过滤
          else:
              return True   # 会被打印
  • 日志实例logger

    LOGGING = {
        'version':1,
      'formatters':{
          'standard':{
              'format':'%(asctime)s [%(threadName)s: %(thread)d]'
                      '%(pathname)s':%(funcName)s:%(lineno)d]%(levelname)s-%(message)s'
          }
      },
      'filters':{
            'test':{
                '()':'过滤器TestFilter路径',
            }
      },
      'handlers':{
          # 终端处理器
          'console_handler':{
              'level':'INFO',
              'class':'logging.StreamHandler',
              'formatter':'standard'
          },
          # 文件处理器
          'file_handler':{
              'level':'DEBUG',
              'class':'logging.handlers.RotatingFileHandler',
                'filename':os.path.join(LOG_DIR,'backend.log')
              'maxBytes':'1024*1024*1024' # class参数如果日志大小超了会新建文件
              'formatter':'standard',
                'encoding':'utf-8'
          }
      },
        'loggers':{
            'django':{
                'handlers':['console_handler','file_handler'],
                'filters':['test'],
                'level':'DEBUG'
            }
        }
    }
    • 入口点

      1. 建立django环境

      2. def logdemo():
         logger = logging.getLogger('django')
         logger.info('hello')

转载于:https://www.cnblogs.com/jimmyhe/p/11184711.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值