应更改Python日志文件的位置

应更改Python日志文件的位置,python,python-2.7,logging,Python,Python 2.7,Logging,我在Python2.7项目中对遗留代码使用logger。我想在特定位置创建日志,但python日志模块会在默认位置(即执行位置)创建日志文件 有没有办法更改此默认位置? 下面是记录器的初始化 logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) formatter = logging.Formatter('%(message)s') file_handler = logging.FileHandler('file

我在Python2.7项目中对遗留代码使用logger。我想在特定位置创建日志,但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)

下面是如何设置Python logger的位置和其他属性的示例:

  • 您可以按如下方式定义
    get\u logger
    函数:
  • 然后在要创建日志的文件中,可以执行以下操作:
  • 如果要生成日志消息,则可以执行以下操作:

这很简单,只要给出日志文件的正确位置,包括路径。@KlausD。那么如何包含路径呢?你能分享代码吗?
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!')