我正在开发一个利用log4j2日志记录的项目.在intellij开发时,一切正常,日志记录按预期完成.log4j2.xml通过intellij设置在启动时传递给jvm的java属性链接.但是一旦我尝试运行一个独立的gradle build fat-jar,我遇到了以下问题:
java -Dlog4j.debug=true -Dlog4j.configurationFile=/home/aaa/log4j2.xml -jar /home/aaa/myjar-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
例外:
ERROR StatusLogger Unrecognized format specifier [d]
ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern.
ERROR StatusLogger Unrecognized format specifier [thread]
ERROR StatusLogger Unrecognized conversion specifier [thread] starting at position 25 in conversion pattern.
...
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Run Code Online (Sandbox Code Playgroud)
我甚至不知道那些[线程]来自哪里,因为即使在我的log4j2中使用基本最简单的配置我也会得到相同的错误:
<?xml version="1.0" encoding="UTF-8" ?><Configuration status="WARN" monitorInterval="86400">
<Appenders>
<Console name="console-log" target="SYSTEM_OUT">
<PatternLayout
pattern="%-5p %d{yyyy-MM-dd HH:mm:ss.SSS} ${hostName} …Run Code Online (Sandbox Code Playgroud)