python log by date or size of the archive

With callback events and more and more, if each event to write a method, which seems redundant code, so today the logs are archived, classified

Event log, look at the situation, we generally kept for 10 days, as to the error log, generally does not complain, so we classified according to size of the file

# 按日期进行分类
import logging
import logging.handlers as handlers


class InfoLog(object):
    def __init__(self, file_name):
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        self.logHandler = handlers.TimedRotatingFileHandler(file_name, when='D', interval=1, backupCount=10)
        self.logHandler.setLevel(logging.INFO)
        self.logHandler.setFormatter(formatter)
        self.file_name = file_name
        self.cons = logging.basicConfig(format='%(asctime)s: %(message)s', level=logging.INFO)

    def send_msg(self, msg):
        logger = logging.getLogger(self.file_name)
        logger.setLevel(logging.INFO)
        logger.addHandler(self.logHandler)
        logger.info(msg)


callback = InfoLog("callback.log")
callback.send_msg("33")

 

# 按大小进行分类

import logging
import logging.handlers as handlers


class ErrLog(object):
    def __init__(self, file_name):
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        self.errorLogHandler = handlers.RotatingFileHandler(file_name, maxBytes=5000, backupCount=0)
        self.errorLogHandler.setLevel(logging.INFO)
        self.errorLogHandler.setFormatter(formatter)
        self.file_name = file_name
        self.cons = logging.basicConfig(format='%(asctime)s: %(message)s', level=logging.INFO)

    def send_msg(self, msg):
        logger = logging.getLogger(self.file_name)
        logger.setLevel(logging.INFO)
        logger.addHandler(self.errorLogHandler)
        logger.info(msg)


err = ErrLog("err.log")
err.send_msg("44")

 

# Of parameters in which it occurs is described 
# number backupCount backup 
# filename full path to the file 
# log formatter format to use 
# Level Log Level 
# interval The frequency increment

 

Guess you like

Origin www.cnblogs.com/zjbacke/p/11202082.html