PYTHON随笔-logging

发布时间 2023-07-13 09:26:06作者: LiYanbin

PYTHON随笔-logging

import logging
from logging.handlers import RotatingFileHandler

gLogFile  = '/home/mcs/log/dbm_py.log'

LOG_FORMAT = "%(asctime)s [%(levelname)-5s] [%(filename)s:%(lineno)s] - %(message)s"  #日志输出的格式 # -8表示占位符,让输出左对齐,输出长度都为8位
DATAFORMAT = "%Y-%m-%d %H:%M:%S"                                                      #时间输出的格式

def config_logging(file_name: str=gLogFile, log_fmt: str=LOG_FORMAT, data_fmt: str=DATAFORMAT, level: int=logging.DEBUG):
    # f_handler = logging.FileHandler(file_name, mode='a', encoding="utf8")
    # f_handler.setFormatter(logging.Formatter(log_fmt, datefmt=data_fmt))
    # f_handler.setLevel(level)

    s_handler = logging.StreamHandler(sys.stdout)
    s_handler.setFormatter(logging.Formatter(log_fmt, datefmt=data_fmt))
    s_handler.setLevel(level)

    ro_hander = RotatingFileHandler(file_name, mode='a', maxBytes=10*1024*1024, backupCount=10)
    ro_hander.setFormatter(logging.Formatter(log_fmt, datefmt=data_fmt))
    ro_hander.setLevel(level)

    logging.basicConfig(
        level=level,
        handlers=[s_handler, ro_hander])