python日志管理

1.logging模块简介

  • 日志级别

    • DEBUG:排查故障时使用的低级别系统信息;对应logging.debug()
    • INFO:一般系统信息,如django框架下接口调用信息;对应logging.info()
    • WARNING:描述系统发生小问题的信息;对应logging.warning()
    • ERROR:描述系统发生大问题的信息;对应logging.error()
    • CRITICAL:描述系统发生严重问题的信息;对应logging.critical()
  • 关键参数说明

参数 说明
loggers 记录器:日志系统的入口,每个 logger 都是命名了的 bucket, 消息写入 bucket 以便进一步处理
handlers 处理器:Handler 是决定如何处理 logger 中每一条消息的引擎。它描述特定的日志行为,比如把消息输出到屏幕、文件或网络 socket
formatters 格式化器:描述了文本的格式。一个 formatter 通常由包含 LogRecord attributes 的 Python 格式化字符串组成
filters 过滤器: 在日志从 logger 传到 handler 的过程中,使用 Filter 做额外控制,如只允许某个特定来源的 ERROR 消息输出

2.django框架日志配置

  • setting.py文件
    • 方法:添加LOGGING配置,如下代码所示
    • 效果:启动django服务后,在工程中自动创建log/access.log文件,按天分割日志,保存最近7天的日志
import os
import logging
import django.utils.log
import logging.handlers

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

……(此处省略其他配置)

LOGGING = {
   
   'version': 1,
   'disable_existing_loggers': True,
   'formatters': {
    #可定义多种日志格式,key应用于handlers的formatter配置项
   'standard': {
   
           'format': '%(asctime)s [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'}  #日志格式 
   },
   'filters': {
   
   },
   'handlers': {
    #可定义多种日志处理器,key应用于loggers的handlers
       'default': {
   
           'level':'DEBUG', #日志级别
           'class':'logging.handlers.TimedRotatingFileHandler', #日志处理方式:按时间分割
           'filename': os.path.join(BASE_DIR, 'log/access.log'),  #日志输出文件
           'when' : 'D', #按天自动分割备份日志
           'backupCount'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值