我有一个Django 1.3应用程序。我有几个管理命令。我希望每个命令写入不同的日志文件,而不是settings.py中定义的默认文件名。我每天都将这些命令作为cron的一部分运行。我们当前的日志文件看起来像这里给出的示例https://docs.djangoproject.com/en/dev/topics/logging/。而且,我们使用
logger = logging.getLogger(__name__)
由于
答案 0 :(得分: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
添加到命令记录器中。