Django管理命令不显示python库的日志输出

时间:2014-11-26 20:59:17

标签: python django logging

我已经编写了一个我在django应用程序中使用的python模块,因此可以进行推广。我有一个调用这个库的django mangement函数。

在库中,我尝试使用正确的python日志记录。我编写了一个简单的命令行程序来调用库并将日志记录数据转储到stdout,这是有效的。但是,当从django管理命令调用此库时,django管理命令会记录日志输出,但是库中没有日志记录输出。就好像库中没有记录调用一样。

我希望来自库的日志输出和django管理命令出现在stdout上。好像我刚刚在django管理命令和库中使用了print

在django管理命令中,我调用它,以便所有日志记录输出都转到终端。我希望从这个django管理命令和库中记录输出到终端。

import logging
logger = logging.getLogger(__name__)

class Command(BaseCommand):
    def handle(self, *args, **options):
        # ...
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)
        formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
        ch.setFormatter(formatter)
        logger.addHandler(ch)
        logger.setLevel(logging.DEBUG)

在库中,我也在文件的根目录logger = logging.getLogger(__name__)"

我是使用python日志框架的新手(通常我只是print;))所以我可能会犯一个简单的错误或者要求一些不可能的东西。这是Django 1.6.5和python 2.7.6。我的python库是纯python并且是单线程的,它非常简单。

0 个答案:

没有答案