Вопрос:

Получить регистратор по имени, напечатать название класса

java logging logback slf4j

591 просмотра

1 ответ

77 Репутация автора

Я хочу захватить регистратор по его имени, так как у меня есть несколько регистраторов, но я все еще печатаю имя класса, который регистрирует сообщение. Ценю помощь.

Пример:

<!--Loggers...-->
<logger name="LoggerA"><appender-ref="AppenderA"></appender></logger>
<logger name="LoggerB"><appender-ref="AppenderB"></appender></logger>
<logger name="LoggerC"><appender-ref="AppenderC"></appender></logger>

Предположим, что каждый из этих регистраторов будет писать в другой *.logфайл.

<<From ClassXYZ>>
private static final Logger LOGA = LoggerFactory.getLogger("LoggerA");
private static final Logger LOGB = LoggerFactory.getLogger("LoggerB");
private static final Logger LOGC = LoggerFactory.getLogger("LoggerC");

Внутри каждого файла будут следующие утверждения:

2017-04-06 18:23:12,538 [main] [] INFO  LoggerA - <<Some Log Message>>

2017-04-06 18:23:12,538 [main] [] INFO  LoggerB - <<Some Log Message>>

2017-04-06 18:23:12,538 [main] [] INFO  LoggerC - <<Some Log Message>>

Однако я ожидал бы / хочу, чтобы это было зарегистрировано как:

2017-04-06 18:23:12,538 [main] [] INFO  ClassXYZ - <<Some Log Message>>

2017-04-06 18:23:12,538 [main] [] INFO  ClassXYZ - <<Some Log Message>>

2017-04-06 18:23:12,538 [main] [] INFO  ClassXYZ - <<Some Log Message>>

Мой шаблон:

%d [%thread] [%X{CONTEXT}] %-5level %logger{70} - %msg%n
Автор: Qbert Источник Размещён: 10.04.2017 12:46

Ответы (1)


0 плюса

2040 Репутация автора

Вы можете использовать% l в своем шаблоне, если не возражаете против печати номера кода вместе с именем класса.

ps,% l - это конфигурация log4j, если вы используете logback, может ссылаться на шаблон Logback, эквивалентный log4j% l

Автор: Solo Размещён: 10.04.2017 01:20
Вопросы из категории :
32x32