zoukankan      html  css  js  c++  java
  • Python常用模块之logging模块

    logging模块是一个方便写日志,并且线程安全的模块,这里表示logging记录日志的初步用法
    import logging
    #线程安全的日志模块,不会允许多人同时操作,会自动排队
    logging.basicConfig(filename='log.log',
                        format='%(asctime)s-%(name)s-%(levelname)s-%(module)s: %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S:%p',
                        level=10,)#name在这里表示用户,跟权限有关,module表示模块,message表示传进去的信息,levelname表示错误类型
    
    
    logging.error('hahaha')#这里的error表示错误级别
    

      执行结果如图

    log文件里写进去的东西跟之前一一对应

    上面代码里面有个level=10,表示只有级别大于等于10的类型会被写进日志,如图为各个类型的级别

    各个的error类型级别为40,大于设定的level,所以会写进去,

     如下面代码

    import logging
    
    logging.basicConfig(filename='log.log',
                        format='%(asctime)s-%(name)s-%(levelname)s-%(module)s: %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S:%p',
                        level=15,)#level为15,表示只有level大于等于15的才会写进日志
    
    
    logging.error('a')#这里的error表示错误级别,下面类型
    logging.warning('b')
    logging.info('c')
    logging.debug('d')
    logging.log(10,'equal to 10 ')#这里第一个参数是表明level级别,这里是10,下面是20,
    logging.log(20,'equal to 20 ')
    #本质上每一种类型都是执行了logging.log(),
    # 如logging.debug('d'),实际是logging.log(logging.DEBUG,'d),记住这里是大写
    

      

      执行结果如图

     logging模块也可以同时将日志写进多个文件

    #创建文件
    file_1= logging.FileHandler('11.log','a')
    #创建格式
    fmt1 = logging.Formatter(fmt='%(asctime)s-%(name)s-%(levelname)s-%(module)s: %(message)s')
    #文件应用格式
    file_1.setFormatter(fmt1)
    
    file_2=logging.FileHandler('22.log','a')
    fmt2 = logging.Formatter()#这里没有设置格式
    file_2.setFormatter(fmt2)
    
    
    #设置level等级
    logger = logging.Logger('s1',level=logging.ERROR)#设置等级,s1为名字
    #将两个文件加进来,以后只要满足条件,就同时写进这两个文件
    logger.addHandler(file_1)
    logger.addHandler(file_2)
    
    #写日志
    logger.critical('2222')
    

      执行之后,只要满足条件就可以同时将日志写进两个文件,执行结果如图

  • 相关阅读:
    新概念4-27
    胡雪岩06
    新概念4-26
    新概念4-25
    作业01
    day 01 小结
    计算机编程基础
    计算机组成
    markdown文档的编写
    zoj 2674 Strange Limit 欧拉定理应用 (3-E)
  • 原文地址:https://www.cnblogs.com/xiaobeibei26/p/6431709.html
Copyright © 2011-2022 走看看