Я использую SLF4J с Logback в приложении Spring Boot. Мне было интересно использовать ленивую регистрацию, и после некоторых исследований я нашел это решение.
Это работает, как и ожидалось, и не вызывает методы, если уровень регистрации не совпадает.
logger.debug("Begin proceed aspect Method {} : initiator={} | recepient={} | tx_type={}",
new Object() {@Override public String toString() { return proceedingJoinPoint.getSignature().getName(); }},
new Object() {@Override public String toString() { return request.getAgentAlias(); }},
new Object() {@Override public String toString() { return request.getSubscriberMobile(); }},
new Object() {@Override public String toString() { return request.getTxType(); }});
Как видите, я создаю новые объекты и переопределяю метод toString снова и снова. Я не хочу этого делать. Есть лучший способ сделать это?
Я использую версию SLF4J 1.7.28, поставляемую в комплекте со стартером Spring Boot. Обратите внимание, что я предпочитаю использовать SLF4J по сравнению с другими средами ведения журналов.
Я попробовал slf4j-api 2.0.0-alpha1 версию вместе с slf4j-simple привязкой, поскольку он имеет Реализация logger.atDebug.log (). Но я не мог заставить его работать должным образом.
Спасибо.