jmix
jmix copied to clipboard
jmixUser MDC value does not work as expected
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.