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

时间:2014-09-15 21:55:43

标签: python logging

我正在Windows上使用Python 2.7构建一些数据集成流,并希望标准化日志记录。现在,我运行了许多python脚本,并在每个脚本中指定了日志记录。我想创建一个单独的类并将其导入每个.py脚本,以便日志记录可以标准化。

我正在尝试设置它但在测试中出错。这是我的单独日志文件:my_logger.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_logger.py),与my_logger.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的建议删除了类和全局变量。我不再收到错误,并在控制台中打印信息消息。日志文件也会被创建。但是,信息消息不会显示在日志中。

我在日志文件中设置信息消息时缺少什么?

0 个答案:

没有答案