2

Java アプリケーションからログ ファイルを作成できるようにしたいと考えています。これは、バグの調査やパフォーマンス統計の収集に役立つツールによる後で処理するのに適しています。

現在、従来の「テキスト形式にフラット化されてログ ファイルに追加される場合とされない場合があるログ」を使用していますが、これは人間が読み取る少量の情報に最適です。

慎重に検討した結果、最善の策は、ログ イベントを XML スニペットとしてテキスト ファイルに保存し (その後、他のログ ファイルと同様に処理されます)、後処理用の適切なツールを使用してマシンにダウンロードすることでした。

できるだけ広くサポートされている XML 形式を使用したいと考えており、現在は「調査してから決定する」フェーズにいます。XML 形式とツールの両方の点で助けていただければ幸いです。また、必要なものを取得するためのグルー コードを喜んで作成します。

私がこれまでに見つけたもの:

log4j XML 形式: チェーンソーと Vigilog でサポートされています。Lilith XML 形式: Lilith がサポート

未調査のツール:

Microsoft Log Parser: XML をサポートしているようです。OS X ログ ビューア:

さらに、 http://www.loganalysis.org/sections/parsing/generic-log-parsers/には多くのツールがあります。

助言がありますか?

4

5 に答える 5

1

残念ながら、お探しの回答を提供することはできませんが、XML にログを記録する際に考慮すべき事項について警告したいと思います。例えば:

<log>
 <msg level="info">I'm a log message</msg>
 <msg level="info">I'm another message</msg>
 <!-- maybe you won't even get here -->
 <msg level="fatal">My server just ate a flaming death

上記の潜在的な XML ログのスニペットでは、XML へのロギングの最大の欠点を確認できます。壊滅的な障害が発生すると、終了タグが必要になるため、ログ形式が壊れます。ただし、プライマリ ログ出力を解析するプログラムを使用している場合、これはそれほど問題にはなりません。

于 2009-01-22T03:36:12.207 に答える
1

独自の XML ログ ファイルの書き込みを定義している場合は、有効な XML を生成するために終了タグと開始タグについて心配する必要はありません。Elijah の答えは、XMLドキュメントを作成したい場合に問題があるという点で正しいですが、それはすぐに必要というわけではありません。W3 標準では XMLエンティティも定義されています(W3 の XML 1.0 仕様、第 2 版のセクション 4.3 を参照してください。残念ながら、十分なポイントがないためリンクできません)。一部を書き換えていないファイル。XML エンティティではなく実際の XML ドキュメントを操作する必要がある場合は、参照元の XML ラッパー ドキュメントを作成できます (例については、 http://www.perlmonks.org/?node_id=217788 #217797 を参照してください) 。

于 2010-05-23T08:23:10.043 に答える
0

log4j の優れた点の 1 つは、ログ形式とその書き込み先をカスタマイズする優れた可能性を提供することです。

したがって、ログ ファイル形式を選択する代わりに、形式を変更でき、ログを何らかのプログラムに直接取得できるロギング ライブラリを選択します。

于 2009-01-28T16:12:38.957 に答える
0

イベントの logback-accessを検討することをお勧めします。

それ以外は、SNMP の機能セットに合わせて作成されているため、JMX を使用します。

于 2009-02-02T12:20:25.640 に答える
0

Lilith ログ ビューアには、log4j だけでなく、logback で利用可能な追加機能を処理するのに適した XML 形式が含まれているようです。

それは-今のところ-これまでで最高の賭けです:)


log4j xmllayout クラスを、チェーンソーで動作する logback に適合させました。


イベント情報を視覚化できる適切なログ ビューアを見つけることができなかったため (すべてのイベントをテーブルに表示するだけでなく)、上記に基づいて機械で解析可能な情報を含む非常に簡潔な xml レイアウトを作成することにしました。次に、Microsoft LogParser によって必要な形式に後処理されます。

于 2009-02-02T11:33:17.840 に答える