#java #log4j2
#java #log4j2
Вопрос:
Мне нужен журнал в log4j2, как показано ниже:
14:28:00.404 имя_приложения=»образец приложения splunk» имя_метода= main desc=»образец журнала»
<PatternLayout pattern="%d app_name="%X{app_name}" method_name=%M(%L) %m %n"/>
Шаблон не работает из-за двойных кавычек. Что такое экранирующий символ для double quate, чтобы значение пары ключ-значение находилось в двойных кавычках в журнале.
ThreadContext.put("app_name", "splunk sample app");
Ответ №1:
В вашем шаблоне просто замените два "
на amp;quot;
(объект XML для "
символа):
<PatternLayout pattern="%d app_name=amp;quot;%X{app_name}amp;quot; method_name=%M(%L) %m %n"/>
Затем он запишет то, что вы хотите:
14:28:00.404 app_name="splunk sample app" method_name=main desc="sample log"
Комментарии:
1. Отлично. Не стесняйтесь отмечать этот ответ как полезный, если вы считаете, что это так (серая стрелка слева)
Ответ №2:
Теперь добавлена поддержка других специальных символов, таких как t для вкладок (https://issues.apache.org/jira/browse/LOG4J2-682 ).
Это не попало в Log4j-2.0-rc2, вам нужно будет выполнить сборку из trunk, чтобы использовать это, если вы хотите, чтобы оно было выпущено до версии 2.0.
Комментарии:
1. хорошо, ждем релиза 2.0, чтобы использовать его в prod. Получил некоторые ошибки при сборке из ствола.
2. Если у вас возникли проблемы с магистралью, вы должны сообщить об этом команде, чтобы это можно было исправить. 2.0 будет основан на магистрали… Вы создаете с помощью «mvn clean install»?
3. я попробую еще раз. Я просто взял ядро в одиночку, чтобы построить. да, чистая установка.