log4j2 передает параметры пользовательскому аппендеру - PullRequest
0 голосов
/ 06 марта 2019

Возможно ли в log4j2 определить параметр в файле конфигурации и получить параметр в методе append () вашего пользовательского приложения?

Например, определите такой параметр в файле свойств:

appender.myCustomAppender.param1 = Hello-World

Тогда в моем appender сделайте что-то вроде этого:

public void append(LogEvent event) {
   org.apache.logging.log4j.util.ReadOnlyStringMap map = event.getContextData(); 
       String param1 = map.get("param1");

...

Есть идеи? Спасибо, -Mike

1 Ответ

0 голосов
/ 06 марта 2019

Хорошо, я понял это. Я передаю свои параметры через раздел свойств XML-файла:

<Properties>
    <Property name="Param1">Hello-World</Property>
</Properties>

Затем в моем настраиваемом приложении я делаю следующее:

LoggerContext context = (LoggerContext) LogManager.getContext(false);
Configuration configuration = context.getConfiguration();
String param1= configuration.getStrSubstitutor().getVariableResolver().lookup("Param1");        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...