1. FileHandler
如果在一个 .py 文件中,想输出不同的信息到不同的日志文件中,怎么做呢?
import time
def write_log(file_path, model="a"):
file1 = logging.FileHandler(filename=file_path, mode=model, encoding='utf-8')
# fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s", datefmt='%Y-%m-%d %H:%M:%S')
fmt = logging.Formatter(fmt="%(message)s", )
file1.setFormatter(fmt)
# 定义日志
logger = logging.Logger(name="这里是log的名字", level=logging.INFO)
logger.addHandler(file1)
return logger
logger1 = write_log('l1.txt')
logger2 = write_log('l2.log')
logger3 = write_log('l3.log')
logger1.info("liuzc188" )
logger2.info(time.strftime("%Y-%m-%d %H:%M:%S") + " 点个赞吧" )
logger3.info("或者关注也行")
2. basicConfig
如果只需要输出在一个文件中,basicConfig 即便定义不同的文件路径也是无效的,比如:
import logging
def set_log(file_path, model="w"):
logging.basicConfig(level=logging.INFO, filename=file_path, filemode=model, format='%(message)s', encoding="utf-8", )
# format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
return logger
logger = set_log('../log/app.txt', )