私はorg.jboss.logging.Loggerクラスを使用していますが、違和感を覚えているようです。エラーまたは警告が表示されたら、logger.error("error message")
またはlogger.warn("warning message")
を使用するだけで、jboss-log4j.xmlファイルの設定に基づいて表示されます。JBossでisTraceEnabled()関数を使用する必要があるのはなぜですか?
しかし、既存のjbossコードのthis discussionおよびthis linkに基づいて、トレースを使用する場合は、有効にするかどうかをlogger.isTraceEnabled()
で判断する必要があります。なぜ私はこのことだけをトレースのためにしなければならないのでしょうか?
これは単なるパフォーマンスのものです。特にリクエストごとに発生する情報レベルのものについては意味があります – JoshC13
あなたが知っているのは、使用しているロガーによって異なります。たとえば、org.slf4j.impl.Log4jLoggerAdapterは内部的にこのチェックを行います。したがって、このチェックはまったく必要ありません。 IMHOこのチェックを内部的に行うのが理にかなっています。特に知っているように、良いロガーが得られるのは、メッセージがisTraceEnabled()を呼び出すより効率が悪い方法で構築されている場合ですhttp://stackoverflow.com/questions/21281048/should-i-be-using-slf4j-istraceenabled-or-not) – ndtreviv