import logging
from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler
# 创建日志记录者
logger = logging.getLogger('test_logger')
# 日志记录等级
logger.setLevel(logging.INFO)
# 输出格式
formatter = logging.Formatter('%(asctime)s-%(name)s-%(lineno)d-%(levelname)s:%(message)s')
# 终端输出
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(formatter)
logger.addHandler(ch)
# 文件输出 (没有做日志分割,无限追加)
log_file = logging.FileHandler(filename='./test.log')
log_file.setFormatter(formatter)
# 按文件大小分割
log_file1 = RotatingFileHandler(filename='./test1.log', maxBytes=1024*1024, backupCount=30)
log_file1.setFormatter(formatter)
# 按时间分割 (D-天 , H-小时, M-分, S-秒)
log_file2 = TimedRotatingFileHandler(filename='./test2.log', when='D', backupCount=30)
log_file2.setFormatter(formatter)
logger.addHandler(log_file)
logger.addHandler(log_file1)
logger.addHandler(log_file2)
# test
logger.info('this is test log;')