更改Helidon中的默认日志记录实现

时间:2019-12-05 12:31:46

标签: helidon

我想将log4jHelidon一起使用。有什么办法可以更改默认的日志记录实现?

2 个答案:

答案 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>