无法为wso2 EnterpriseIntegrator 6.5日志记录使用自定义log4j2布局

时间:2020-04-22 01:40:57

标签: java wso2 wso2esb log4j2 pax

我是WSO2的新手,正在执行一项任务,以通过Filebeat代理将其生成的EnterpriseIntegrator日志文件(例如$ {sys:carbon.home} /repository/logs/wso2-ei-api.log中)定向到ElasticSearch。 。

在此过程中,我们需要(通过log4j2.properties/xml)标准化/配置生成的日志记录,以ECS友好的JSON格式。为此,可以使用第三方插件。 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 \(窗口计算机)。

注意,在没有pax库的log4j2的香草Java应用程序中,我已经能够毫无问题地完成这项工作。

谢谢

布莱斯

0 个答案:

没有答案
相关问题