Невозможно использовать пользовательский макет log4j2 для ведения журнала wso2 EnterpriseIntegrator 6.5 - PullRequest
0 голосов
/ 22 апреля 2020

Я новичок в 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.

Спасибо,

Брайс

...