• 日志模块 logging



    举例:
    # 1、办公室
    # 2、负责往控制台里面输出日志信息的
    # 3、往日志文件里面写日志的,按天生成日志,清理日志
    import logging   #导入日志模块
    from logging import handlers
    
    logger = logging.getLogger()  #先实例化一个logger对象,先创建一个办公室
    logger.setLevel(logging.DEBUG) #设置日志的级别的人
    cl = logging.StreamHandler() #负责往控制台输出的人,控制台输出
    bl = handlers.TimedRotatingFileHandler(filename='a.log',when='S',interval=1,backupCount=3,encoding='utf-8')
    #  when,按什么单位(每秒),interval,间隔多久,backupCount,备份几份日志
                #S 秒
                # M 分
                # H 小时、
                # D 天、
                # W 每星期(interval==0时代表星期一)
    fmt = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s')
    cl.setFormatter(fmt) #设置控制台输出的日志格式
    bl.setFormatter(fmt) #设置文件里面写入的日志格式
    logger.addHandler(cl) #把已经调教好的人放到办公室里
    logger.addHandler(bl) ##把已经调教好的人放到办公室里
    #指定日志的格式
    logger.debug('我是debug。。。')
    logger.warning('我是waring。。。')

    结果:

    生成的日志文件:a.log,(每秒运行一次的话,每次可以生产一份备份文件)三份备份:

  • 相关阅读:
    luogu 1593
    luogu 1369
    hdu 1796
    bzoj 3398
    luogu 4587
    luogu 2152
    bzoj 3629
    bzoj 1507: [NOI2003]Editor
    bzoj 1503: [NOI2004]郁闷的出纳员
    bzoj 1497: [NOI2006]最大获利
  • 原文地址:https://www.cnblogs.com/fancyl/p/9105574.html
Copyright © 2020-2023  润新知