我想将log4j
与Helidon
一起使用。有什么办法可以更改默认的日志记录实现?
答案 0 :(得分:1)
在Helidon中,我们决定使用Java Util Logging(JUL),以允许我们的用户选择任何日志记录实现。 JUL的大多数实现都有桥梁。对于log4j,您可以查看以下页面: http://people.apache.org/~psmith/logging.apache.org/sandbox/jul-log4j-bridge/examples.html
答案 1 :(得分:1)
使用Helidon 2.0,您将需要:
添加依赖项log4j2
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.13.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.13.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jul</artifactId>
<version>2.13.3</version>
</dependency>
启动应用程序时,请使用外部配置log4j添加此变量:
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
-Dlog4j.configurationFile=file:/conf/log4j2.xml
java -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
-Dlog4j.configurationFile=file:/conf/log4j2.xml -jar target/your-app.jar
或者当您的log4j2.xml位于src / main / resources / log4j2.xml中
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
java -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -jar target/your-app.jar
示例log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
<Appenders>
<Console name="LogToConsole" target="SYSTEM_OUT">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %p %c{1.} %m%n</Pattern>
</PatternLayout>
</Console>
</Appenders>
<Loggers>
<Logger name="io.helidon" level="info" additivity="false">
<AppenderRef ref="LogToConsole" />
</Logger>
<Root level="info" additivity="false">
<AppenderRef ref="LogToConsole" />
</Root>
</Loggers>
</Configuration>