示例#1
0
文件: log.py 项目: YE-Kits/flask_mico
def setup_logger(level, logdir, service_name):
    # process level
    if isinstance(level, bool) and level is True:
        level = logging.DEBUG
    else:
        level = logging.INFO
    # clear logging default handlers
    logging.getLogger().handlers.clear()
    logger.handlers.clear()
    # add logger format
    formatter = logging.Formatter(FORMAT, TIMESTAMP_FORMAT)
    # set logger handler
    if level == logging.INFO:
        # add rotaing file handler
        log_file_name = 'logger-%s.log' % service_name
        log_file_str = os.path.join(logdir, log_file_name)
        file_handler = RotatingFileHandler(filename=log_file_str,
                                           maxBytes=1024 * 1024 * 50,
                                           backupCount=5,
                                           encoding='utf-8')
        file_handler.suffix = "_%Y-%m-%d_%H.log"
        file_handler.setFormatter(formatter)
        logger.addHandler(file_handler)

    # default console handler
    console_handler = logging.StreamHandler()
    console_handler.setLevel(logging.NOTSET)
    console_handler.setFormatter(formatter)
    logger.addHandler(console_handler)
    # set level
    logger.setLevel(level)
示例#2
0
def get_logger_bak(name):
    if os.path.exists(LOG_PATH):
        pass
    else:
        os.mkdir(LOG_PATH)
    format = u'%(asctime)s\t%(levelname)s\t%(filename)s:%(lineno)d\t%(message)s'

    #     logger.setLevel(logging.DEBUG)
    # new file every minute
    #     rotation_logging_handler = TimedRotatingFileHandler(LOG_PATH+'/'+LOG_FILEBASENAME,
    #                                    when='MIDNIGHT',
    #                                    interval=1,
    #                                    backupCount=3)
    rotation_logging_handler = RotatingFileHandler(
        "%s/%s" % (LOG_PATH, LOG_FILEBASENAME),
        mode='a',
        maxBytes=10 * 1024,  # maxBytes=10*1024*1024, #MB
        backupCount=3,  #keep total file number
        encoding=None,
        delay=0)
    rotation_logging_handler.setLevel(logging.DEBUG)
    rotation_logging_handler.setFormatter(logging.Formatter(format))
    rotation_logging_handler.suffix = '%Y%m%d'
    #rotation_logging_handler.namer = get_filename(LOG_PATH+'/'+LOG_FILEBASENAME)
    logger = logging.getLogger()
    logger.addHandler(rotation_logging_handler)
    return logger
def getLogger(logname, name, print_flag=True):
    # 创建一个logger
    lg = logging.getLogger(name)
    lg.setLevel(logging.DEBUG)

    # 创建一个handler,用于写入日志文件,日期滚动,保存七天
    # fh = TimedRotatingFileHandler(filename=logname, when="D", interval=1, backupCount=7, encoding='utf-8')
    # 按大小保存,保存300M,保留一份
    fh = RotatingFileHandler(filename=logname,
                             maxBytes=1024 * 1024 * 300,
                             backupCount=1,
                             encoding='utf-8')
    # fh = logging.FileHandler(logname, encoding='utf-8')
    fh.setLevel(logging.DEBUG)

    # 设置日志名
    fh.suffix = "%Y-%m-%d"

    # 定义handler的输出格式
    formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
    fh.setFormatter(formatter)

    # 给logger添加handler
    lg.addHandler(fh)

    # 再创建一个handler,用于输出到控制台
    if print_flag:
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)
        ch.setFormatter(formatter)
        lg.addHandler(ch)
    return lg
示例#4
0
def initLogger():
    logname = getProjectRelativePath("app.log")
    handler = RotatingFileHandler(logname,
                                  mode="w",
                                  maxBytes=100000,
                                  backupCount=1)
    handler.suffix = "%Y%m%d"
    logging.basicConfig(
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        level=logging.INFO,
        handlers=[handler])
    if os.path.isfile(logname):  # log already exists, roll over!
        handler.doRollover()
示例#5
0
def init_logger_file():
    if Options["log"]["to_file"]:
        filename = Options["log"]["filename"]
        os.makedirs(os.path.dirname(filename), exist_ok=True)

        formatter = logging.Formatter(
            fmt="%(asctime)s %(levelname)-8s %(message)s",
            datefmt="%Y-%m-%d %H:%M:%S")
        handler = RotatingFileHandler(os.path.abspath(
            Options["log"]["filename"]),
                                      mode='a',
                                      backupCount=100)
        handler.setFormatter(formatter)
        handler.suffix = '%Y%m%d'
        logger.addHandler(handler)
        handler.doRollover()
示例#6
0
import logging
from logging.handlers import TimedRotatingFileHandler, RotatingFileHandler

# init logging
logging.basicConfig()

logger = logging.getLogger()

logger.setLevel(logging.DEBUG)

# the path of logger
logs_path = ".\\logs\\"


fh = RotatingFileHandler(filename=logs_path + "log.log", maxBytes=500, encoding='utf-8')
formatter = logging.Formatter('%(asctime)s - [%(filename)s-%(funcName)s-%(lineno)d]-%(process)d-%(processName)s\
-%(thread)d-%(threadName)s]: %(message)s')
fh.setFormatter(fmt=formatter)
fh.suffix = "%y-%m-%d.log"
fh.setLevel(logging.INFO)
logger.addHandler(fh)