Windows中缺少日志处理程序

时间:2015-03-20 03:28:54

标签: python windows logging

我试图理解为什么同一组代码在osx中​​工作但在windows中不工作。

logger_name = 'gic_scheduler'
logger = logging.getLogger(logger_name)
logger.setLevel(logging.INFO)
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
fh = logging.FileHandler(filename=os.path.join(tmp_folder, 'scheduler.log'), encoding='utf-8')
fh.setLevel(logging.DEBUG)

logger.addHandler(ch)
logger.addHandler(fh)

executor_logger = logging.getLogger('apscheduler.executors.default')
executor_logger.setLevel(logging.DEBUG)
executor_logger.addHandler(ch)
executor_logger.addHandler(fh)

executors = {'default': ProcessPoolExecutor(5)}

scheduler = BlockingScheduler(executors=executors, logger=logger)

scheduler.add_job(go, 'interval', seconds=5)    
scheduler.start()

特别是,记录器' apscheduler.executors.default'不会产生任何输出。我使用这个记录器深入到第三方库并打印出logger.handlers,在OSX的情况下,处理程序在那里,但在Windows中它们是空的。有什么想法吗?

def run_job(job, jobstore_alias, run_times, logger_name):
    """Called by executors to run the job. Returns a list of scheduler events to be dispatched by the scheduler."""

    events = []
    logger = logging.getLogger(logger_name)
    print logger_name
    print logger.handlers

0 个答案:

没有答案