在使用Django的Console Scripts中记录到stderr

时间:2015-02-10 15:03:51

标签: django logging console-application

配置日志记录适用于Web请求。

但是如何配置从unix shell或通过cron调用运行的控制台脚本的日志记录?

对于那些脚本,我希望所有日志记录都能到达stderr。

我在文档中找不到如何解决这个问题:

https://docs.djangoproject.com/en/1.7/topics/logging/#configuring-logging

1 个答案:

答案 0 :(得分:1)

settings.py

 'handlers': {
        'stream_to_console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler'
        },
    },
    'loggers': {
        'myproject': {
            'handlers': ['stream_to_console'],
            'level' : 'DEBUG',
        },

management/commands/my_command.py

import logging

logger = logging.getLogger('myproject')

class Command(NoArgsCommand):
    ...

    def handle_noargs(self, **options):
        logger.warn("In management command")

当你运行./manage.py my_command时,它会将该警告输出到stderr