私の質問は簡単です。ログに何を書き込むかです。規約はありますか?何を入れればいいですか?
私のアプリはリリースする必要があるので、わかりやすいログが必要です。これは、ほとんどの人がそれが何であるかを尋ねることなく読むことができます。
タイムスタンプ、各関数/メソッドの一意の識別子など、すでにいくつかのアイデアがあります。トレース/デバッグ、情報、エラー/警告など、いくつかのログレベルが必要です。
フォーマット済みのログ リソースを使用していますか?
ありがとうございました
私の質問は簡単です。ログに何を書き込むかです。規約はありますか?何を入れればいいですか?
私のアプリはリリースする必要があるので、わかりやすいログが必要です。これは、ほとんどの人がそれが何であるかを尋ねることなく読むことができます。
タイムスタンプ、各関数/メソッドの一意の識別子など、すでにいくつかのアイデアがあります。トレース/デバッグ、情報、エラー/警告など、いくつかのログレベルが必要です。
フォーマット済みのログ リソースを使用していますか?
ありがとうございました
コンテンツに関するいくつかの提案を次に示します。
実装のベスト プラクティス:
編集:質問がPythonでタグ付けされていることに気付いたので、私の前にS. Lottの回答をご覧ください。あなたのニーズには十分かもしれません。
質問にpythonのタグを付けたので、この質問も参照します。内容はブライアンの提案がいいです。ただし、共有ログを使用している場合は、プログラム名を追加することを忘れないでください。
ログファイルで重要なのは「greppability」です。特定の条件に対して一意の(基数でも)適切な文字列識別子を使用して、すべての情報を1行で提供するようにしてください。タイムスタンプについては、うまく並べ替えられるISO-8601標準を使用してください。
ログ分析ソフトウェアを調べることをお勧めします。独自に作成する予定がない限り、Analogなどの既存のログ分析パッケージを利用することをお勧めします。その場合は、受け入れる形式と十分に類似したログ出力を生成することをお勧めします。最小限の労力で素敵なチャートやグラフを作成できます!
私の意見では、 log4j (または他の言語のバリエーション)などの既存のロギング ライブラリを使用するのが最善の方法です。メッセージのフォーマット方法を制御でき、コードに触れることなく変更できます。ベスト プラクティスに従っており、堅牢で、何百万人ものユーザーに使用されています。もちろん、独自のロギング フレームワークを作成することもできますが、非常に具体的なものが必要でない限り、それを行うのは非常に奇妙なことです。いずれにせよ、それらのドキュメントに目を通して、ログ ステートメントがどのように表示されるかを確認してください。
log4py を確認してください - log4j の Python 移植バージョン。Python の実装がいくつかあると思います。
Python のロギング ライブラリは、単一プロセス スレッドに対してスレッドセーフです。
timeStamp ie DateTime YYYY / MM / DD:HH:mm:ss:msユーザースレッドID関数名メッセージ/エラーメッセージ/成功メッセージ/関数トレース
これをXML形式にすると、パーサーを簡単に作成できます。
<log>
<logEntry DebugLevel="0|1|2|3|4|5....">
<TimeStamp format="YYYY/MM/DD:HH:mm:ss:ms" value="2009/04/22:14:12:33:120" />
<ThreadId value="" />
<FunctionName value="" />
<Message type="Error|Success|Failure|Status|Trace">
Your message goes here
</Message>
</logEntry>
</log>