1. FileHandler
如果在一個(gè) .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") + " 點(diǎn)個(gè)贊吧" )
logger3.info("或者關(guān)注也行")
2. basicConfig
如果只需要輸出在一個(gè)文件中捅位,basicConfig 即便定義不同的文件路徑也是無(wú)效的腔召,比如:
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', )