ログの過度な出力はパフォーマンスに影響を与えるので注意が必要です。
「そんなの当たり前だ」という声も聞こえてきそうですが、
以下は結構見受けられる間違いです。
Log4Jを使った例を示します。
通常は本番用と開発用のログを分けるためにログレベルを設定します。
そして開発用としてはdebugレベルを使用しますよね。
logger.debug("Hello World");
この程度の内容であれば、あまり問題視することもありませんが、
List list = new ArrayList();
list.add();
....(省略)
logger.debug(list.toString());
としている場合があります。この場合、listの大きさによって大きな負荷が生じます。
#debug()の引数になにを入れるかによって、その性能に差が生じてしまうということです。
面倒ですが必ず
if( logger.isDebugEnabled ){
logger.debug(list.toString());
}
とする必要があります。