记录日志不同的 log 文件 python

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', )

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容