日志管理收集

日志:用于记录系统运行时的信息

作用:

  • 调试程序
  • 了解系统程序运行情况,是否正常
  • 系统运行故障分析与问题定位
  • 用来做用户行为分析和数据统计

级别:

  • DEBUG:调试级别,打印非常详细的日志信息,用于代码的调试
  • INFO:信息级别,打印一般的日志信息,突出强调程序的运行过程
  • WARNING:警告级别,打印警告日志信息,表明会出现潜在错误的情形,一般不影响正常使用
  • ERROR:错误级别,打印错误异常信息,该级别错误会导致一些功能无法正常使用
  • CRITICAL:严重错误级别,一个严重的错误,系统无法继续运行

基本用法:

logging模块

import logging

设置日志级别

logging.basicConfig(level=logging.DEBUG)

设置日志格式

logging.basicConfig(format="%(levelname)s:%(name)s:%(message)s")

日志输出到文件

logging.basicConfig(filename="a.log")

高级用法:

四大组件:

  • 日志器 logger:提供程序使用日志的入口
  • 处理器 handle:将logger创建的日志记录发送到合适的目的输出
  • 格式器 formatter:决定日志记录的最终输出格式
  • 过滤器 filter:提供了更细粒度的控制工具来决定输出哪条日志记录,丢弃哪条日志记录

示例:将日志输出到控制台和文件中

测试代码

import logging
import logging.handlers

# 1、创建日志器
import time

logger = logging.getLogger()

# 2、设置日志器级别
logger.setLevel(logging.DEBUG)

# 3、创建两个处理器(输出到控制台以及输出到文件)
#     3.1 创建输出到控制台的处理器
sf = logging.StreamHandler()
#     3.2 创建输出到文件的处理器
hf = logging.handlers.TimedRotatingFileHandler("log/log.log", when='midnight', interval=1, backupCount=3)

# 4、设置级别
sf.setLevel(logging.INFO)
hf.setLevel(logging.INFO)

# 5、创建格式器
fmt = '%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s'
formatter = logging.Formatter(fmt=fmt)

# 6、添加格式器到处理器当中
sf.setFormatter(formatter)
hf.setFormatter(formatter)

# 7、将处理器添加到日志器
logger.addHandler(sf)
logger.addHandler(hf)

# 8、输出日志信息
while True:
    time.sleep(3)
    logger.info("这是一条信息级别的日志")
    logging.warning("这是一条警告级别的日志")

结果

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值