役に立ちそうもないTips移転版

俺得なTipsを書き連ねるだけのブログ。

slf4jのメッセージパラメータの扱い

てけとーにSLF4J+Logback使ってコード書いてて、後になって{}でパラメータ入りメッセージが書けることを知ったorz
……が、しかし。「パラメータマーカは{}だよ」というのは書いてあるが、「そのパラメータをどうやって文字列にするのか」さっぱりわからん。
まあ多分ライブラリを素で使ってる分にはtoString()しとるだけだろうな、とは思ったがはっきりしないともにょる。
で、調べてみた結果(バージョンがちょいと古くてSLF4J 1.6.5だけど)
org.slf4j.helpers.MessageFormatterのsafeObjectAppend()でtoString()してるのを確認しますた。
(いったんLogbackのソース読みに行ってまたSLF4Jへ戻るよーなことになったんで疲れたorz)

で、結局今のコードではログ出力で数値をあれやこれや成形(0パディングしたり16進表記にしたり)することが多いんで、String.format()して突っ込むことにしましたとさ。
(そこまで詳細にロギングするのはどーせtraceレベルだからパフォーマンスなんて気にするな!だし。)