0

Django1.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 に答える