私はJavaアプリケーションを持っています。ログフォーマッタオブジェクトを使用しています。すべてのログメッセージにこのオブジェクトが必要です。例えば
log.debug(new LogFormatter(x,y,z))
ただし、ログに記録するすべての新しいLogFormatterオブジェクトを作成する必要があります。たとえば静的な方法を使用する場合
log.debug(LogFormatter.format(x,y,z))
新しいオブジェクトを作成する必要はありません。しかし、マルチスレッドアプリケーションでは、正しく機能します。
2つのスレッドがdiff値で呼び出すと、ロギングが台無しになります。
または、スレッドローカルが最善の方法です