在使用 Django 的控制台脚本中记录到 stderr

Logging to stderr in Console Scripts which use Django

配置日志记录可以很好地处理 Web 请求。

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

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

我在文档中找不到解决方法:

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

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