すべての LoggingEvent (または log4j2 の LogEvent) で ConsoleAppender にユーザー名パラメーターを取得する必要があります。
log4j2 に移行するときに、log4j で CustomConsoleAppender の doAppend メソッドを変更するこの実装を再作成するにはどうすればよいですか。
public class CustomConsoleAppender extends ConsoleAppender
{
public void doAppend(LoggingEvent event)
{
String username = SecurityContextHelper.getLogonUsername();
if (username != null)
MDC.put("userId", username);
else
MDC.put("userId", "system");
super.doAppend(event);
}
}
値は、パターン %X{userId} を使用して、対応するアペンダーの PatternLayout の log4j2.properties で取得されます。