1

私のアプリケーションでは、log4j といくつかのサードパーティの jar を使用しています。これらのサードパーティの jar の 1 つは Commons Logging を使用しています。そのサードパーティの jar のクラスを使用するたびに、どういうわけか、ログ メッセージは 2 つの別々のアペンダーによって処理されます。例えば:

  • log4j.properties で指定しました:

    • log4j.logger.myClass=DEBUG、serverFile、defaultSTDOUT。ここで、serverFile は org.apache.log4j.RollingFileAppender であり、defaultSTDOUT は org.apache.log4j.ConsoleAppender です。
  • 私のコードでは、 Logger logger = Logger.getLogger(myClass.class) を実行し、 logger.debug("debug message") のように使用します

  • コンソールで私が見る

DEBUG [2009-10-14 16:08:34,415] - デバッグ メッセージ

51215 [Thread-13] DEBUG myClass - デバッグ メッセージ

最初の行は私のもので、2 番目の行はおそらくそのサードパーティ製の jar が原因です。自分のログ メッセージだけが表示されるようにするにはどうすればよいですか?

4

1 に答える 1

1

私のロガーにlog4j.additivityを指定するとうまくいったようです。

于 2009-10-15T09:14:52.333 に答える