logging根据日期分割日志文件

logging根据日期分割日志文件

使用的handle为logging.handlers.TimedRotatingFileHandler

通过when参数设置时间的分割单位

  • S - 秒
  • M - 分
  • H - 小时
  • D - 天
  • W{0-6}-周,0-6为周一到周六,0表示周一
    dictConfig文件如下
    myLogger.py
import logging.config

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'default': {
            'format': '%(asctime)s %(levelname)s %(name)s %(message)s'
        },
    },
    'handlers': {
        'file': {
            'class': 'logging.handlers.TimedRotatingFileHandler',
            'level': 'DEBUG',
            'formatter': 'default',
            'filename': 'log',
            'when': 's',  # 分割单位,秒
            'encoding': 'utf-8',
        },
    },
    'root': {
        'handlers': ['file'],
        'level': 'DEBUG',
    },
}

def initLoggingConfig():
    logging.config.dictConfig(LOGGING)

测试代码

import logging
from module.log import myLogger


if __name__ == '__main__':
    myLogger.initLoggingConfig()
    logger = logging.getLogger('mylogger')
    logger.debug('A debug message')
    # 为实现日志文件的分割效果,多打印几条日志
    for i in range(100000):
        logger.debug('A debug message {}'.format(i))

最终运行会创建多个文件

log
log.2021-01-30_15-27-46
log.2021-01-30_15-27-47
log.2021-01-30_15-27-48
log.2021-01-30_15-27-49
log.2021-01-30_15-27-50
log.2021-01-30_15-27-51
log.2021-01-30_15-27-52
log.2021-01-30_15-27-53
log.2021-01-30_15-27-54
log.2021-01-30_15-27-55
log.2021-01-30_15-27-56
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bdawn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值