0

我有一个 Django 1.3 应用程序。我有几个管理命令。我希望每个命令都写入不同的日志文件,而不是在 settings.py 中定义的默认文件名。我每天将这些命令作为 cron 的一部分运行。我们当前的日志文件看起来像这里给出的示例https://docs.djangoproject.com/en/dev/topics/logging/。而且,我们使用

logger = logging.getLogger(__name__)

谢谢

4

1 回答 1

1

您需要通过为每个包添加一个记录器和一个处理程序来做到这一点:

'handlers': {
    'my_command_handler': {
        'level': 'DEBUG',
        'class': 'logging.FileHandler',
        'filename': '/path/to/my_command_log',
     },
     ...
},
'loggers': {
     'my_pkg.management.commands.my_command': {
         'level': 'DEBUG',
         'handlers': ['my_command_handler'],
     },
     ...
 }

'propagate': False如果您不希望消息到达其他记录器,您可能还需要考虑添加到命令记录器。

于 2012-06-19T06:45:09.967 回答