如何解决如何在 mule 应用程序中实现 log4j2 (2.14.0) 'JSON Template Layout'?
Log4j2 实现了“JSON 模板布局”。我已经能够在标准的 maven java 应用程序中实现它,但是我无法在 Mule 4.3 应用程序中实现它。我已将 log4j2 (2.14.0) 依赖项添加到我的 POM 中:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.14.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-layout-template-json</artifactId>
<version>2.14.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.1</version>
</dependency>
Log4j2 Appender 配置
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<JsonTemplateLayout />
</Console>
</Appenders>
并且我看到它们已加载到日志中,但出现错误:
2021-02-06 07:17:39,175 WrapperListener_start_runner DEBUG 构建插件[name=layout,class=org.apache.logging.log4j.layout.template.json.JsonTemplateLayout]。 2021-02-06 07:17:39,179 WrapperListener_start_runner 错误无法为元素 JsonTemplateLayout 创建 org.apache.logging.log4j.layout.template.json.JsonTemplateLayout 类型的插件:java.util.UnknownFormatConversionException:Conversion = 'interface org. apache.logging.log4j.layout.template.json.util.RecyclerFactory' java.util.UnknownFormatConversionException: Conversion = 'interface org.apache.logging.log4j.layout.template.json.util.RecyclerFactory' 在 org.apache.logging.log4j.core.config.plugins.convert.TypeConverterRegistry.findCompatibleConverter(TypeConverterRegistry.java:103) 在 org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.convert(TypeConverters.java:412) 在 org.apache.logging.log4j.core.config.plugins.visitors.AbstractPluginVisitor.convert(AbstractPluginVisitor.java:151)
Mule 是否以某种方式动态加载未实现“JSON 模板布局”的旧版 log4j2?
解决方法
Mule 4 为应用程序提供 log4j2。它是少数几个实际上可以覆盖 Mule 4 中应用程序库的库之一。您应该使用提供的库。不要尝试更改任何提供的不同版本的库,这是不支持的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。