我是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应用程序中,我已经能够毫无问题地完成这项工作。
谢谢
布莱斯