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