GitHub user paladox added a comment to the discussion: Help with migrating from 
log4j to log4j2 (we also use a slf4j -> log4j)

Thanks!

For the migration, I’m focused on trying to keep most of it the same, but with 
the new class names and any of the function/param name changes. This is to keep 
it as easy as possible and to keep the same behaviour as possible to log4j 1.x.

I traced the problem back to:

```
  private Log4jLogEvent log(String msg) {
    SshSession sd = session.get();
    CurrentUser user = sd.getUser();
    StringMap ctxData = new SortedArrayStringMap();

    ctxData.putValue(P_SESSION, HexFormat.fromInt(sd.getSessionId()));
    String traceId = context.get().getTraceId();
    if (traceId != null) ctxData.putValue(P_TRACE_ID, traceId);

    String userName = "-", accountId = "-";
    if (user != null && user.isIdentifiedUser()) {
      IdentifiedUser u = user.asIdentifiedUser();
      userName = u.getUserName().orElse("-");
      accountId = "a/" + u.getAccountId().toString();
    } else if (user instanceof PeerDaemonUser) {
      userName = PeerDaemonUser.USER_NAME;
    }

    ctxData.putValue(P_USER_NAME, userName);
    ctxData.putValue(P_ACCOUNT_ID, accountId);

    return Log4jLogEvent.newBuilder()
        .setLoggerName(SshLog.class.getName())
        .setLevel(Level.INFO)
        .setTimeMillis(TimeUtil.nowMs())
        .setThreadName(Thread.currentThread().getName())
        .setMessage(new SimpleMessage(msg))
        .setContextData(ctxData)
        .build();
  }
```

Which I’m unsure how to fix. The problem happens only when you do 
```async.append(entry);``` and only on the second time (works the first time).

GitHub link: 
https://github.com/apache/logging-log4j2/discussions/3914#discussioncomment-14330817

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to