Python日志的使用-按时间分割文件

import logging, time
from logging.handlers import TimedRotatingFileHandler

# 单文件简单配置
logging.basicConfig(filename="run.log", level=logging.INFO, format="%(asctime)s %(levelname)s : %(message)s", datefmt="%Y-%m-%d %H:%M:%S",)   

# 按时间分割文件
logger = logging.getLogger() 
logger.setLevel(logging.INFO);
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s : %(message)s")
log_file_handler = TimedRotatingFileHandler(filename="runs", when="S", interval=1, backupCount=3)
log_file_handler.setFormatter(formatter)
log_file_handler.setLevel(logging.INFO)
log_file_handler.suffix += ".log"
logger.addHandler(log_file_handler)


for n in range(4):
    print(n)
    logger.info(time.localtime())
    logging.info(time.localtime())
    time.sleep(1)

参数解析
basicConfig
  • filename:日志文件名,在TimedRotatingFileHandler中作前缀名
  • level:日志级别
    NOTSET(0)、DEBUG(10)、INFO(20)、WARNING(30)、ERROR(40)、CRITICAL(50)
    logging 执行时会输出大于等于设置的日志级别的日志信息
  • format:日志输出格式
  • asctime:日志时间
  • name:日志对象的名称
  • levelname:日志级别名称
  • message:日志信息
  • datefmt:日志附带日期时间的格式
TimedRotatingFileHandler
  • when:间隔时间单位(默认H)
    “S”: Seconds
    “M”: Minutes
    “H”: Hours
    “D”: Days
    “W”: Week day (0=Monday)
  • interval:滚动周期(默认1),单位由when指定,比如:when=’D’,interval=1,表示每天产生一个日志文件
    backupCount: 表示日志文件的保留个数; 不写则全保存
    suffix:日志文件名后缀
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值