私たちのアプリケーションにslf4j + log4j2を使用して評価しようとしています。私はSLF4Jに備えてパラメータ化メッセージに関するこれらのようなドキュメントを読み込む:https://www.slf4j.org/faq.html#logging_performanceslf4jパラメータ化されたメッセージの理解
は、この機能を理解するために、私はこのコードを試してみました:
int a = 10;
logger.trace("test: " + a++);
logger.error("value of a: " + a);
logger.trace("test {}", a++);
logger.error("value of a " + a);
ログレベルはERRORに設定されています。それで、最初のトレースログでは、 'a'は古い非効率なログの方法なので、増分されると仮定していました。しかし、パラメータ化されたロギングを使用しているので、2番目のトレースログでトレースレベルが有効になっていないと、 'a ++'も評価されません。しかし、それは評価されているように見えます。私は2つのエラーログで11と12の値を参照してください。
この動作を見ているslf4jパラメータメッセージについて理解してもらえますか?
私はそれでSLF4J 1.6.4とlog4j2.7
Remko ..yaの説明に感謝しています。他の投稿を先に見て、log4j2 apiも評価しています。 – anuragz