coding=utf-8
import os
import re
import datetime
import logging
try:
import codecs
except ImportError:
codecs = None
支持多进程
class TimedRotatingFileHandler(logging.FileHandler):
def __init__(self, filename, when='D', backupCount=0, encoding=None, delay=False):
"""filename 日志文件名,when 时间间隔的单位,backupCount 保留文件个数
delay 是否开启 OutSteam缓存
True 表示开启缓存,OutStream输出到缓存,待缓存区满后,刷新缓存区,并输出缓存数据到文件。
False表示不缓存,OutStrea直接输出到文件"""
self.prefix = filename
self.backupCount = backupCount
self.when = when.upper()
# 正则匹配 年-月-日
self.extMath = r"^\d{4}-\d{2}-\d{2}"
# S 每秒建立一个新文件
# M 每分钟建立一个新文件
# H 每天建立一个新文件
# D 每天建立一个新文件
# 当然如果你还需要其他的方式可以加上去比如按月
self.when_dict = {
'S': "%Y-%m-%d-%H