log4j2 JsonTemplateLayout 不适用于 Maven 阴影插件

log4j2 JsonTemplateLayout not working with maven shade plugin

我正在尝试使用 log4j2 JsonTemplateLayout 以 LogstashJsonEventLayoutV1.json 作为模板生成 Json 格式的日志。当我 运行 使用 intellij 的代码时,一切都按预期工作。但是使用 java -jar 命令失败了 无法找到类型 JsonTemplateLayout

的插件

以下是使用 java -jar

来自 intellij 和命令行的日志

使用 java -jar 命令记录 2021-04-20 19:02:55,123 main DEBUG null null 初始化配置 org.apache.logging.log4j.core.config.properties.PropertiesConfiguration@6f45df59

2021-04-20 19:02:55,140 main DEBUG Installed 1 script engine 警告:计划从未来的 JDK 版本中删除 Nashorn 引擎 2021-04-20 19:02:55,723 主要 DEBUG Oracle Nashorn 版本:11.0.10,语言:ECMAScript,线程:非线程安全,编译:true,名称:[nashorn, Na shorn, js, JS, JavaScript, javascript, ECMAScript, ecmascript], 工厂 class: jdk.nashorn.api.scripting.NashornScriptEngineFactory 2021-04-20 19:02:55,723 主要 DEBUG PluginManager 'Core' 找到 122 个插件 2021-04-20 19:02:55,723 主要 DEBUG PluginManager 'Level' 找到 0 个插件 2021-04-20 19:02:55,739 主要错误无法找到 JsonTemplateLayout

的插件类型

从 Intellij 执行时的日志 2021-04-20 18:52:50,289 主要 DEBUG Apache Log4j Core 2.14.1 初始化配置 org.apache.logging.log4j.core.config.properties.PropertiesConfiguration@6ff29830 2021-04-20 18:52:50,306 主要 DEBUG 安装了 1 个脚本引擎 警告:计划从未来的 JDK 版本中删除 Nashorn 引擎 2021-04-20 18:52:51,122 主要 DEBUG Oracle Nashorn 版本:11.0.10,语言:ECMAScript,线程:非线程安全,编译:true,名称:[nashorn, Nashorn, js, JS, JavaScript、java脚本、ECMAScript、ecmascript]、工厂 class:jdk.nashorn.api.scripting.NashornScriptEngineFactory 2021-04-20 18:52:51,124 个主要 DEBUG PluginManager 'Core' 找到 124 个插件 2021-04-20 18:52:51,124 主要 DEBUG PluginManager 'Level' 找到 0 个插件 2021-04-20 18:52:51,137 主要调试构建插件[name=属性, class=org.apache.logging.log4j.core.config.Property].

谁能帮我解决这个问题? 非常感谢

以下 link 帮助解决了这个问题

https://github.com/edwgiz/maven-shaded-log4j-transformer