当前位置 主页 > 网站技术 > 代码类 >

    python logging日志模块原理及操作解析

    栏目:代码类 时间:2019-11-01 09:02

    一、基本介绍

    logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。

    logging有 5 个不同层次的日志级别,可以将给定的 logger 配置为这些级别:

        DEBUG:详细信息,用于诊断问题。Value=10。     INFO:确认代码运行正常。Value=20。     WARNING:意想不到的事情发生了,或预示着某个问题。但软件仍按预期运行。Value=30。     ERROR:出现更严重的问题,软件无法执行某些功能。Value=40。     CRITICAL:严重错误,程序本身可能无法继续运行。Value=50。

    二、基本操作

    主要调用logging.basicConfig(***kwargs*)这个函数对logging进行设置。函数常用的参数如下:

        level:主要调整logging的级别     filename:输出日志的路径     filemode:直接写入还是追加写入     format:输出的格式

    示例一:通过调整format,可以输出我们想要的格式

     import logging
     
     logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S')
     logging.warning('Admin logged out')

    结果:

    12-Jul-18 20:53:19 - Admin logged out

    示例二:logging写多文件日志

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    """
    logging模块写多文件日志
    """
    
    import logging
    
    #创建文件
    file_1 = logging.FileHandler('log_1.log', 'a')
    #创建格式
    fat = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(message)s")
    #文件应用格式
    file_1.setFormatter(fat)
    
    file_2 = logging.FileHandler('log_2.log', 'a')
    fmt = logging.Formatter()
    file_2.setFormatter(fmt)
    
    logger1 = logging.Logger('s1', level=logging.ERROR)
    
    logger1.addHandler(file_1)
    logger1.addHandler(file_2)
    
    #写日志
    logger1.critical("i'm a error!")

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。