我想使用log4j
with Helidon
。有没有办法改变默认的日志实现?
问问题
794 次
2 回答
2
在 Helidon 中,我们决定使用 Java Util Logging (JUL),以允许我们的用户选择任何日志记录实现。JUL 的大多数实现都有桥梁。对于 log4j,你可以看看这个页面: http: //people.apache.org/~psmith/logging.apache.org/sandbox/jul-log4j-bridge/examples.html
于 2019-12-05T14:45:15.803 回答
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>
于 2020-07-20T22:26:14.547 回答