jmix icon indicating copy to clipboard operation
jmix copied to clipboard

jmixUser MDC value does not work as expected

Open knstvk opened this issue 3 years ago • 0 comments

Add logback.xml to the resources root:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="Console"
              class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{ISO8601} %-5level [%t] [%X{jmixUser}] %C{1.}: %msg%n%throwable
            </Pattern>
        </layout>
    </appender>

    <root level="info">
        <appender-ref ref="Console" />
    </root>

    <logger name="com.company" level="debug">
        <appender-ref ref="Console" />
    </logger>

</configuration>

Add logging to a screen:

public class UserBrowse extends StandardLookup<User> {

    private static final Logger log = LoggerFactory.getLogger(UserBrowse.class);

    @Subscribe
    public void onInit(InitEvent event) {
        log.info("Init");
    }

    @Subscribe("testBtn")
    public void onTestBtnClick(Button.ClickEvent event) {
        log.info("Throwing exception");
        throw new RuntimeException("test");
    }

ER: You should see log output with the current user like below:

2022-08-19 17:50:08,733 INFO  [http-nio-8080-exec-35] [admin] com.company.demo.screen.user.UserBrowse: Init

AR: user is not shown:

2022-08-19 17:50:08,733 INFO  [http-nio-8080-exec-35] [] com.company.demo.screen.user.UserBrowse: Init

See LogMdc and SecurityContextHelper classes.

knstvk avatar Aug 19 '22 13:08 knstvk