zoukankan      html  css  js  c++  java
  • 15.python日志模块

    1、什么是日志?
    日志是一种可以追踪某些软件运行时所发生事件的方法。

    2、日志的作用
    1、程序调试

    2、了解软件程序运行情况,是否正常

    3、软件程序运行故障分析与问题定位

    3、日志等级
    日志级别分别从低到高:
    debug 调试信息
    info 关键时间说明
    warning 警告信息
    error 错误信息
    critical 严重错误信息


    4、如何实现日志的收集

    1、logging模块

    logging模块是Python内置的标准模块,主要用于输出运行日志,可以设

    置输出日志的等级、日志保存路径、日志文件回滚等。


    2、如何实现日志输出

    1)第一种方式是使用logging提供的模块级别的函数

    # 第一种方式是使用logging提供的模块级别的函数

    import time

    format="%(asctime)s %(name)s ,文件: %(filename)s 函数: %(funcName)s ,行号:%(lineno)d , %(levelname)s %(message)s"
    logging.basicConfig(format=format,
    datefmt="%Y/%m/%d %H:%M:%S",
    level=logging.DEBUG,
    filename='{}_log.txt'.format(time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime()))
    )
    logging.debug("debug级别错误信息")

    def sum(a,b):
    try:
    sum=a+b
    except Exception as error:
    logging.debug(error)


    2)第二种方式是使用Logging日志系统的四大组件

    1、日志器 logger
    2、处理器 handler
    3、过滤器 filter
    4、格式器 formattor

    关系:日志器是入口,一个日志器可以多个处理器,每个处理器都有对应的过滤器和格式器

    如何python实现日志收集“

    # 第二种方式是使用Logging日志系统的四大组件
    logger=logging.getLogger("logger")
    #日志输出的最低级别(忽略当前最低级别以下级别的日志信息)
    logger.setLevel(logging.ERROR)
    # 创建控制台处理
    sh=logging.StreamHandler()
    # 创建文件处理器
    fh=logging.FileHandler(filename="{}_log2.txt".format(time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime()))
    ,encoding="utf-8")
    # 把控制台处理器添加到日志器中
    logger.addHandler(sh)
    # 指定格式器显示的格式
    formatter=logging.Formatter(fmt="%(asctime)s %(name)s ,文件: %(filename)s 函数: %(funcName)s ,行号:%(lineno)d , %(levelname)s %(message)s",
    datefmt="%Y/%m/%d %H:%M:%S")
    # 控制台处理器指定格式
    sh.setFormatter(formatter)
    # 添加文件处理器到日志器
    logger.addHandler(fh)
    # 文件处理器设置格式
    fh.setFormatter(formatter)
    logger.warning("警告信息")
    logger.error("错误信息")
    logger.critical("严重错误信息")









  • 相关阅读:
    启动ZOOKEEPER之后能查看到进程存在但是查不到状态,是因为。。。
    多线程后续讲解及代码测试
    多线程详解和代码测试
    数据操作流
    字符流详解及代码测试
    IO流详解及测试代码
    递归概要及经典案例
    File基本操作
    异常精解
    iOS之多线程NSOperation
  • 原文地址:https://www.cnblogs.com/Murraya/p/14020612.html
Copyright © 2011-2022 走看看