python-日志处理

一.什么是日志

日志:跟踪软件运行时间的方法(跟踪器)

日志作用:调试程序定位问题;数据分析;用户信息跟踪

二.python如何实现日志的收集

1.python内置模块 logging

2.logging模块的基本应用

   四大组件:

 (1)日志器:logger 给所有应用程序提供入口

(2)处理器:handler 决定在不同端实现输出

 (3)格式器:formatter 决定日志内容(包含什么信息(时间,行数,信息描述,日志级别)

(4)过滤器:filter 对信息进行筛选,保留感兴趣的信息

四大组件之间的关系:

一个日志器有多个处理器,一个处理器可以有各自的格式器和过滤器

3.日志级别:

日志级别有哪些,优先级从低到高有哪些(debug 调试信息,info 关键事件描述,warning 警告信息,error错误信息,critical严重错误)

日志输出的级别由日志输出级别和处理器输出级别控制

输出日志级别先按照日志器级别再按照处理器级别实现日志输出

日志输出端:日志文件,控制台

import logging

import time

#创建一个日志器

logger=logging.getLogger("logger")

if not logger.handler:

#日志输出默认Warning以及以上级别

        Logger.setLevel(logging.INFO)

#创建一个处理器 控制台实现日志输出 StreamHandler()

        sh=logger.StreamHandler()

#创建一个格式器(日志内容:时间 日志级别, 日志描述信息)

        formatter1=logging.Formatter(fmt="%(asctime)s | %(filename)s | %(levelname)s | %(message)s,datefmt="%Y/%m/%d %H:%M:%S")

        formatter2=logging.Formatter(fmt="%(asctime)s | %(filename)s :%(lineno)s| %(levelname)s | %(message)s,datefmt="%Y/%m/%d %H:%M:%S")

        fh=logging.FileHander(filename="{} _log.txt".format(time.strftime("%Y_%m_%d %H_%M_%S"))),encoding="utf-8")

        logger.addHandler(sh)

        sh.setFormatter(formatter1)

        logger.addHandler(fh)

        fh.setFormatter(formaterr2)

        fh.setLevel(logging.INFO)

        try:

                1/0

                logger.info("计算完成")

        except Exception as error:

                print(str(error))

                logger.error(str(error))

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值