Чтобы избежать написания повторяющегося кода (например, добавление префикса или маркера к каждому сообщению), вы можете создать свой собственный простой класс-оболочку:
public class BusinessLogger {
private final Logger logger; // initialize in constructor, can even add a getter if needed
public void info(String msg) {
logger.info("[BUSINESS] " + msg);
}
}
Использование:
// class member, can even be static
BusinessLogger logger = new BusinessLogger(LoggerFactory.getLogger(this.getClass()));
// in a method
logger.info("this is my business log")
Выход:
[2019-02-13 13:41:21.009] [INFO] 12540 [Test worker] : [BUSINESS] this is my business log
Это будет хорошо работать, если вы все равно хотите, чтобы все ваши журналы были бизнес-журналами. Если вы все еще должны использовать оригинальный регистратор, вы можете сделать logger.getLogger().info("non-business info");
, давая:
[2019-02-13 13:41:22.414] [INFO] 12540 [Test worker] : non-business info