2012-06-19 32 views
0

我有一個Django 1.3應用程序。我有幾個管理命令。我希望每個命令都可以寫入不同的日誌文件,而不是settings.py中定義的默認文件名。我每天都運行這些命令作爲cron的一部分。我們目前的日誌文件看起來像這裏給出的例子https://docs.djangoproject.com/en/dev/topics/logging/。而且,我們使用如何從管理命令寫入特定的日誌文件?

logger = logging.getLogger(__name__) 

感謝

+0

你是什麼意思的'管理命令'?你只是想每日劃分日誌文件? – iMom0

回答

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到命令記錄器,如果你不想讓消息去其他記錄器。