Log4j2 написал свой http appender но входящее сообщение он не обрабатывает
Пишу свой http аппендер для Log4j2. Указал для него имя: @Plugin(name = "AppenderHttp" ... и в файле конфигурации log4j2.xml указал это аппендер: <Http name="AppenderHttp"... но через дебаг вижу что приложение обращается к аппендеру из пакета org.apache.logging.log4j HttpAppender. В чем может быть проблема? как сделать чтобы метод append() вызывался из моего аппендера? Спасибо за ответы.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="ConsoleAppender" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} $${env:JournalDevVar} $${env:JournalDevSecondVar} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<Http name="AppenderHttp" url="http://localhost:44441">
<JsonLayout complete="false" eventEOL="true" compact="true">
<PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n"/>
</JsonLayout>
</Http>
</Appenders>
<Loggers>
<Root level="DEBUG">
<AppenderRef ref="ConsoleAppender"/>
<AppenderRef ref="AppenderHttp"/>
</Root>
<Logger name="AppenderHttp">
<AppenderRef ref="ConsoleAppender"/>
<AppenderRef ref="AppenderHttp"/>
</Logger>
</Loggers>
</Configuration>
@Plugin(name = "AppenderHttp", category = Node.CATEGORY, elementType = Appender.ELEMENT_TYPE, printObject = true)
public class AppenderHttp extends AbstractAppender {
Ответы (1 шт):
Автор решения: Максим Ботюк
→ Ссылка
Одну проблему я уже нашел:
<Http name="AppenderHttp" url="http://localhost:44441">
<JsonLayout complete="false" eventEOL="true" compact="true">
<PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n"/>
</JsonLayout>
</Http>
в этом месте должна быть вот такая реализация:
<AppenderHttp name="AppenderHttp" url="http://localhost:44441">
<JsonLayout complete="false" eventEOL="true" compact="true">
<PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n"/>
</JsonLayout>
</AppenderHttp>
Но до конца это не решило мою проблему, приложение не может походу найти мой аппендер!