python3日志根据时间分文件并自动删除

        工作上,基于python3开发了一些功能,上线前需要添加日志功能,之前的日志配置可以输出指定规则的日志,但缺少根据时间,自动拆分日志和删除日志,这在使用和运行维护上,很不有好。

        经过一番搜索、学习和测试,基于自带的logger,终于配置出自己满意的日志配置,它根据设置自动拆分日志大小,删除多余日志,详细如下:

#coding:utf-8

import logging,os,sys
import logging.handlers

def script_path():
    path = os.path.realpath(sys.argv[0])
    if os.path.isfile(path):
	    path = os.path.dirname(path)
    return os.path.abspath(path)
 
message_format  = '%(asctime)s %(levelname)s %(pathname)s(line:%(lineno)d) %(message)s'
date_format	= '%Y-%m-%d %H:%M:%S'
 
logging.basicConfig(level=logging.DEBUG,format=message_format)
log = logging.getLogger('log')

log_path = os.path.join(script_path(),'logs')
if not os.path.exists(log_path):
    os.makedirs(log_path)

log_file = os.path.join(log_path,'my.log')
'''
when 间隔时间拆分文件:
    “S”: Seconds
    “M”: Minutes
    “H”: Hours
    “D”: Days
    “W”: Week day (0=Monday)
    “midnight”: Roll over at midnight

interval:
    等待多少个单位when的时间后,新建日志文件

backupCount:
    保存多少个日志文件
'''
file = logging.handlers.TimedRotatingFileHandler(log_file,when="S",interval=1,backupCount=2,encoding='utf-8')
file.setFormatter(logging.Formatter(message_format))
log.addHandler(file)
 
 
log.info("加油")
logger.error("Thread Error",exc_info=True)

 

转载于:https://my.oschina.net/wangzonghui/blog/3084546

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值