• 日志 logging模块


    一.logging模块简介

    logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径等;
    与print相比,具备如下优点:
    1. 可以通过设置不同的日志等级,只输出重要信息,而不必显示大量的调试信息;
    2. print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者
    决定将信息输出到什么地方,以及怎么输出;
     
     
    二.logging模块的基本使用
    1.logging有五个级别
    logging.debug('this is debug message')
    logging.info('this is info message')
    logging.warning('this is warning message')
    logging.error('this is error message')
    logging.critical('this is critical message')

    控制台输出日志

     默认的日志格式为:日志级别:Logger名称:用户输出信息

    日志默认级别为WARBING

    2.配置日志级别,日志格式,输出的位置

     1 import logging
     2 logging.basicConfig(level=logging.INFO,              #只能控制一个文件
     3                     format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
     4                     datefmt='%a, %d %b %Y %H:%M:%S',
     5                     filename='test.log',
     6                     filemode='w')
     7 logger = logging.getLogger('tang')
     8 
     9 logging.debug('this is debug message')
    10 logging.info('this is info message')
    11 logging.warning('this is warning message')
    12 logging.error('this is error message')
    13 logging.critical('this is critical message')
    fifilename:   用指定的文件名创建FiledHandler(后边会具体讲解handler的概念),这样日志会被存储在指
    定的文件中。
    fifilemode:   文件打开方式,在指定了fifilename时使用这个参数,默认值为“a”还可指定为“w”。
    format:      指定handler使用的日志显示格式。
    datefmt:    指定日期时间格式。
    level:        设置rootlogger(后边会讲解具体概念)的日志级别
    stream:     用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件,默认为
    sys.stderr。

    文件里输出日志

    3.Handler    流

    logger = logging.getLogger()    #初始化对象方法
    logger.error('nihao')

    #控制信息的输出位置 流 想多个位置就创建多个
    d=logging.FileHandler('文件的路径.log')
    e=logging.FileHandler('oh.log')
    f=logging.StreamHandler()
    #把他们加进去
    logger.addHandler(d)
    logger.addHandler(e)
    logger.addHandler(f)
    Handler对象负责发送相关的信息到指定目的地,有几个常用的Handler方法:
    Handler.setLevel(lel):        指定日志级别,低于lel级别的日志将被忽略
    Handler.setFormatter():  给这个handler选择一个Formatter
    Handler.addFilter(fifilt)、Handler.removeFilter(fifilt):新增或删除一个fifilter对象

    作者:小汤o

  • 相关阅读:
    CentOS7安装MySQL5.7
    .gdbinit文件配置
    Linux 动态库加载
    GDB常用调试命令(二)
    git删除缓存区中文件
    git添加空文件夹
    Linux 打开core dump功能
    C++ 预处理器
    C++ 模板
    C++ 命名空间
  • 原文地址:https://www.cnblogs.com/TH3499613196/p/13183790.html
Copyright © 2020-2023  润新知