1

次のようなタイプ NTEventLogAppender のアペンダーを作成しました。

log4j.appender.EVA=org.apache.log4j.nt.NTEventLogAppender
#log4j.appender.EVA.log=TestLog
log4j.appender.EVA.layout=org.apache.log4j.PatternLayout
log4j.appender.EVA.source=TestSource
log4j.appender.EVA.layout.ConversionPattern=[%c][%l][%p][%thread]: %m%n

ご覧のとおり、コメント行でログ TestLog を設定しようとしました。これにより、イベント ビューアーの既定のアプリケーション ログではなく、アプリケーションの特定のイベント ビューアー ログにログ エラーが保存されます。

行のコメントを外すと、ログ プロパティが存在しないというエラーが表示されます。

**log4j:WARN No such property [log] in org.apache.log4j.nt.NTEventLogAppender.**

Log4Netを使用しているので、これを行うことさえ可能ですか?

ありがとう

4

1 に答える 1

0

これはlog4jでは不可能だと思います:

NTEventLogAppender を使用すると、ロガー名を NT イベント ログに表示されるロガーにマップできないのはなぜですか?

残念なことに、ロガー名はメッセージ リソース DLL 内でハードコーディングされているため (NTEventLogAppender に関する前の質問を参照)、動的にオーバーライドする簡単な方法はありません... 実際、それが可能だとは思いません。アプリケーションごとに DLL リソースを変更する必要があります。とにかく、ほとんどのネイティブ アプリケーションは Logger 列を使用しないため...

ソース: http://logging.apache.org/log4j/1.2/faq.html#a2.10

于 2011-12-16T22:39:28.280 に答える