1

Logging を使用してアプリケーションが正しく動作していることを確認したいのですが、確実に動作させることができません。

ログ ファイルからすべての既存の行を削除した後に初めて問題に気付きました。他のときに発生するかどうかはわかりませんが、要求された情報がログ ファイルに正常に追加されることもあれば、何も追加されないこともあります。であり、ファイルは空白のままです。

私はそれをそのようにセットアップして、logger = logging.getLogger(__name__)使用していますlogger.info("Log This!")

これは、ログ ファイルから手動で削除したことが原因ですか? それとも、私の設定に何か問題がありますか?

LOGGING = {'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'file': {
            'level': 'INFO',
            'class': 'logging.FileHandler',
            'filename': os.path.join(BASE_DIR, 'logs/GeniusLogs.log'),
            'formatter': 'verbose'
        },
    },
    'loggers': {
        '': {
            'handlers': ['file'],
            'level': 'INFO',
            'propagate': True
        },
        'django': {
            'handlers':['file'],
            'propagate': True,
            'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
        },
    }
}

編集

遊んだ後、ログファイルを手動で編集することが問題の原因であるようです。ファイルを編集した後、再び機能させるには、ロギング設定に何らかの重要な変更を加える必要があります。(通常、Django アプリをコメント アウトしてページを読み込むと、機能します)。

4

1 に答える 1

1

コマンド ラインからログをクリアすることをお勧めします。

with open('AlmondKing/logs/GeniusLogs.log', 'w'):
    pass
于 2016-09-08T16:01:33.170 に答える