我在 pom.xml 中添加了依賴項:log4j-api (2.17.0) 和 log4j-core (2.17.0)。
Windows 10 上的 Java 版本是“17.0.1” 2021-10-19 LTS
我把檔案 log4j2.yml 放在 src/main/resources 檔案夾中。但似乎從未讀取過此檔案。我能夠登錄到控制臺,但它沒有根據我在日志檔案中配置的內容進行格式化。同樣,我無法登錄到檔案,因為從不讀取組態檔。
我在 VS Code 上使用 Maven。應用程式本身相當簡單:
package com.example;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
/**
* Hello world!
*
*/
public class App
{
private static final Logger logger = LogManager.getLogger(App.class);
public static void main( String[] args )
{
logger.error("Hello Logger!");
System.out.println( "Hello World!" );
}
}
執行時的實際輸出如下:
C:\Users\userme\Documents\workspace\java-sample> c: && cd c:\Users\userme\Documents\workspace\java-sample && cmd /C ""C:\Program Files\Java\jdk-17.0.1\bin\java.exe" -XX: ShowCodeDetailsInExceptionMessages @C:\Users\USERME\AppData\Local\Temp\cp_a2ngr445g97bq5yjwdq9bbcx.argfile com.example.App "
23:13:36.471 [main] ERROR com.example.App - Hello Logger!
Hello World!
YAML檔案:
Configuration:
name: Default
Properties:
Property:
name: log-path
value: "logs"
Appenders:
Console:
name: Console_Appender
target: SYSTEM_OUT
PatternLayout:
pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"
File:
name: File_Appender
fileName: ${log-path}/logfile.log
PatternLayout:
pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"
Loggers:
Root:
level: debug
AppenderRef:
- ref: Console_Appender
Logger:
- name: com.example.App
level: debug
AppenderRef:
- ref: File_Appender
level: debug
uj5u.com熱心網友回復:
“精品英雄”再次來襲!:-) 來自log4j2 配置參考:
使用 YAML 組態檔需要額外的運行時依賴項。
這些是(截至今天):
<jackson.version>2.14</jackson.version> <!-- 2021/12/26(, merry x-mas!) -->
<!-- ... -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
<scope>runtime</scope> <!-- ! -->
<!-- ... -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<!-- As: -->
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<!-- ... -->
- https://github.com/FasterXML/jackson-core/
- https://github.com/FasterXML/jackson-databind/
- https://github.com/FasterXML/jackson-dataformats-text(自 2.9 起)
- https://github.com/FasterXML/jackson-dataformat-yaml(2.9之前)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/398198.html
