2009-10-05 26 views

答えて

14

私のデフォルトのロギングの設定:

RotatingFileHandler(filename, maxBytes=10*1024*1024, backupCount=5) 
+3

を使用します。つまり、10 MiB。 –

2

完全にシステムの外部変数に依存します。例:

  • 外部ストレージのみが1MBのSDカードである組み込みデバイスで実行しているのですか、1TBのハードドライブにフルアクセスできますか?
  • 機能を入力/終了するたびにロギングしているのですか、または1つまたは2つのキャッチされた例外のみをシステム全体に記録していますか?
  • これらのログの目的は、サポートのために開発者に送り返されることですか? 1kbのログファイルはあまり役に立たないでしょうが、1回のサポートで200MBのログは必要ないでしょう。詳細これらの種類なし

は、あなたの質問には良い答えがありません(とさえこれらの詳細と良い答えがないかもしれません)。

+0

私は/退出デバッグモードで関数を入力するたびにログインしています。この場合、ログファイルのサイズをどのように設定すればよいのでしょうか?関数は、SQLAlchemyを介したデータベースの重要な関数です。 – Ivan

+0

@Ivan:デバッグモードで動作しているので、必要に応じて設定を微調整する余地があります。 250kのような値から始めてください。もしあなたのアプリケーションがそこにログインするにはあまりにもデータベース集約的であれば、必要に応じてサイズを増やしてください。 –

7

サイズは私にとって重要ではありません分かりやすい時系列で分けて。私は1日に1つのログファイルを好みますが、あなたが自由に使えるメモ帳プログラムでファイルが開かれない場合は、それが大きすぎるので、毎時のログに行きたいかもしれません。

+2

しかし、Windowsの 'notepad.exe'を測定ツールとして使ってはいけません。なぜなら、少しでも大きくても(少なくともWindows XPまでは、多分それは良くなっています)何かを開くのは本当に悪いからです。 –

+2

Joachim:それでもあなたが持っているのであれば、あなたが開くことができるログファイルがほしいでしょう。 – Joey

+2

私は通常、メモ帳++ –

7

他の回答によると、難解で迅速な答えはありません。それはあなたのアプリとあなたの環境に大きく依存します。私が使用しているガイドラインは次のとおりです。

一般的なサーバーのマルチユーザーアプリケーションの場合: プロダクション用のユーザーアクションごとに1〜2個のエントリを生成しないようにログを構成し、それを毎日ローテーションします。ディスクスペースを確保したり、データ保持/プライバシーポリシーで許容されている日数を確保してください。監査が必要な場合は、おそらく別の解決策が必要です。

シングルユーザーのアプリの場合: 発生する可能性のある奇妙なことを診断するのに十分な情報を試してください。あなたがバッチ操作をしている場合を除き、ユーザーのアクションごとに2または3以上のエントリはありません。ファイルに2MBを超えるファイルを置かないでください。ユーザーは電子メールでファイルを送信できます。 50MB以上のログを保存しないでください。なぜなら、あなたがここで浪費しているスペースではないからです。

関連する問題