Windows の Apache 2.2 インスタンスに Flask アプリをデプロイしましたが、すべて正常に動作しています。
次に、アプリにロギングを実装し、Flask のドキュメントを読むことにしました。ファイル ロガーを使用することにしました。これにより、期待するすべてのログ メッセージを含むログ ファイルが生成されます...これは、組み込みの Flask を使用してアプリケーションを実行したときに発生します。ウェブサーバー。関連するコードは次のとおりです。
if __name__ == '__main__':
#Create a rotating logfile for the application
handler = RotatingFileHandler('myapp.log', maxBytes=10000, backupCount=1)
handler.setLevel(logging.INFO)
handler.setFormatter(Formatter('[%(levelname)s][%(asctime)s] %(message)s'))
app.logger.setLevel(logging.INFO)
app.logger.addHandler(handler)
#Run the app
app.run(host='0.0.0.0', port=5000)
しかし、アプリを Apache にデプロイすると、アプリはそのログファイルを作成/書き込みしません。Apache はログ フレームワークについて何も知らないため、ログ メッセージは標準の Apache ログファイルにも書き込まれません。
Apache 経由で実行された場合にも、アプリに強制的にログファイルを作成させる方法はありますか? また、Apache にアプリケーション ログをその構成によって決定された別のファイルに書き込むようにさせることもできます。
前もって感謝します!