Я новичок в WSO2, работаю над задачей направить созданные им файлы журнала EnterpriseIntegrator (например, в $ {sys: carbon.home} /repository/logs/wso2-ei-api.log) в ElasticSearch через агент Filebeat ,
В рамках этого нам необходимо стандартизировать / настроить (через log4j2.properties/xml) созданные записи журнала в формате ECS-10 *. Для этого доступен сторонний плагин; log4j2-ecs-layout.jar (https://github.com/elastic/ecs-logging-java/tree/master/log4j2-ecs-layout).
После помещения файла jar в wso2 следующая конфигурация log4j2. xml должна сгенерировать требуемый вывод json:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="CARBON_CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="[%d] %5p {%c} - %m%ex%n"/>
</Console>
<RollingFile name="CARBON_LOGFILE" fileName="c:/ELKtest/wso2/application.log"
filePattern="c:/ELKtest/wso2/application-%d{MM-dd-yyyy}.log" append="true">
<EcsLayout serviceName="MyApp"/>
<!--<PatternLayout pattern="[%d] %5p {%c} - %m%ex%n"/>-->
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="CARBON_CONSOLE" />
</Root>
<Logger name="org.apache.synapse.mediators.builtin.LogMediator" level="info">
<AppenderRef ref="CARBON_LOGFILE"/>
</Logger>
</Loggers>
</Configuration>
Однако элемент EcsLayout не распознается; вместо этого сообщается об ошибке, подобной следующей, и в файл записываются неформатированные записи:
org.ops4j.pax.logging.pax-logging-api [log4j2] ОШИБКА: RollingFile содержит недопустимый элемент или атрибут "EcsLayout" Игнорируется FQCN: org. apache .logging.log4j.spi.AbstractLogger
Может ли кто-нибудь помочь / дать представление о том, что может быть не так, пожалуйста? Примечание. Я помещаю необходимые файлы .jar (ecs-logging-core-0.3.0.jar, log4j2-ecs-layout-0.3.0.jar) в C: \ Program Files \ WSO2 \ Enterprise Integrator \ 6.6 .0 \ wso2 \ lib \ (оконный компьютер).
NB Мне удалось без проблем работать в приложении vanilla Java с log4j2 без библиотек pax.
Спасибо,
Брайс