如何将日志设置提取到单独的类?

2024-04-26 10:57:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Windows上用python2.7构建一些数据集成流,并希望标准化日志记录。现在,我运行了许多python脚本,每个脚本中都指定了日志记录。我想创建一个单独的类并将其导入到每个.py脚本中,这样日志记录就可以标准化了。你知道吗

我试图设置这个,但在我的测试中得到一个错误。这里是我的单独日志文件:我的_记录器.py. 你知道吗

import logging
import logging.handlers

def setup_logging():
    logging.basicConfig(level = logging.INFO)
    logger = logging.getLogger(__name__)
    handler = logging.handlers.RotatingFileHandler('C:\\Users\\Documents\\log_test.log', maxBytes=1024000, backupCount=5)
    handler.setLevel(logging.INFO)
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s -    %(message)s')
    handler.setFormatter(formatter)
    logger.addHandler(handler)    

下面是一个小测试文件(test)_记录器.py)和我的地址在同一个目录里_记录器.py. 你知道吗

import numpy as np
import pandas as pd
import my_logger

my_logger.setup_logging()

def generate_random_data():
    logger.info("starting test")
    test_df = pd.DataFrame(np.random.randn(5,4), columns=['a','b','c','d'])
    print test_df

generate_random_data()

如何设置它,以便可以引用单独的日志类并使用单行设置日志消息?你知道吗

更新: 我根据@tdelaney的建议删除了类和全局变量。我不再得到错误和信息消息打印在控制台。日志文件也会被创建。但是,信息消息不会显示在日志中。你知道吗

在日志文件中获取信息消息集缺少什么?你知道吗


Tags: 文件pytestimport脚本消息logginghandlers