【问题标题】:Location of Python log file should be changed应更改 Python 日志文件的位置
【发布时间】:2020-10-05 01:47:23
【问题描述】:

我在我的 python 2.7 项目中对遗留代码使用记录器。我想在特定位置创建日志,但 python 日志记录模块在默认位置创建日志文件,即从它执行的位置。

有没有办法改变这个默认位置? 下面是记录器的初始化。

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)

formatter = logging.Formatter('%(message)s')

file_handler = logging.FileHandler('file.log')
file_handler.setFormatter(formatter)

logger.addHandler(file_handler)

【问题讨论】:

  • 这就像给出日志文件的正确位置(包括路径)一样简单。
  • @KlausD. 那么我该如何包含路径呢?你能分享一下代码吗?

标签: python python-2.7 logging


【解决方案1】:

以下是如何设置 Python 记录器的位置和其他属性的示例:

  • 您可以按如下方式定义get_logger 函数:
import logging
import os

LOG_DIR = 'log_dir'
LOG_FORMATTER = logging.Formatter('[%(asctime)s] %(levelname)s %(name)s: %(message)s')

def get_logger(log_name, log_dir = LOG_DIR):
    if not os.path.isdir(log_dir):
        os.mkdir(log_dir)
    logger = logging.getLogger(log_name)
    logging.basicConfig(level = logging.INFO)

    log_handler = logging.FileHandler(os.path.join(log_dir, log_name))
    logger.addHandler(log_handler)
    log_handler.setFormatter(LOG_FORMATTER)
    log_handler.setLevel('INFO')

    return logger
  • 然后在要制作日志的文件中,可以如下操作:
logger = get_logger('filename')
  • 如果您想制作日志消息,您可以执行以下操作:
logger.info('logging information!')

【讨论】:

    猜你喜欢
    • 2018-02-07
    • 2015-04-15
    • 2015-07-22
    • 2018-10-12
    • 1970-01-01
    • 2016-07-06
    • 2019-04-18
    • 2016-07-08
    • 1970-01-01
    相关资源
    最近更新 更多