代碼如下:
import logging
import os
import time
from logging import handlers
def get_logger(file_name=None):
if file_name is None:
file_name = time.strftime('%Y%m%d') + '.log'
logger = logging.getLogger(file_name)
log_path = './logs/'
if not os.path.exists(log_path):
os.makedirs(log_path)
file_name = log_path + file_name
# 參數when設置間隔:周(W)、天(D)、時(H)、分(M)、秒(S)切割。backupCount,設置保存的切分後最新的文件數量,默認爲0,即所有分割的日誌都保存
fh = handlers.TimedRotatingFileHandler(filename=file_name, when='S', encoding='utf-8', backupCount=0)
fh.setLevel(logging.INFO) # 輸出到file的log等級的開關
# 第三步,定義handler的輸出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
# 第四步,將logger添加到handler裏面
logger.addHandler(fh)
logger.setLevel(logging.INFO)
return logger
if __name__ == '__main__':
logger = get_logger()
for i in range(100):
logger.info(i)
time.sleep(0.1)
參考鏈接:https://www.cnblogs.com/mangM/p/11200987.html