1

我想知道是否有任何方法可以将 Tinylog 与需要 Log4J2 实现的应用程序一起使用。(适配器什么的)

4

1 回答 1

0

如果我正确理解您的问题,您希望将 tinylog 2 API 与 Apache Log4j 2 日志记录后端一起使用。您可以通过使用 JBoss 日志记录作为两者之间的适配器来做到这一点。

所需依赖项:

<dependency>
    <groupId>org.tinylog</groupId>
    <artifactId>tinylog-api</artifactId>
    <version>2.2.1</version>
</dependency>
<dependency>
    <groupId>org.tinylog</groupId>
    <artifactId>tinylog-jboss</artifactId>
    <version>2.2.1</version>
</dependency>
<dependency>
    <groupId>org.jboss.logging</groupId>
    <artifactId>jboss-logging</artifactId>
    <version>3.4.1.Final</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.14.0</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.14.0</version>
</dependency>

示例应用程序:

import org.apache.logging.log4j.LogManager;
import org.tinylog.Logger;

public class Application {
    public static void main(String[] args) {
        Logger.info("Greetings from tinylog!");
        LogManager.getLogger().info("Greetings from Apache Log4j 2!");
    }
}

示例 Log4j 配置(没什么特别的):

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %logger %level: %msg%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="ConsoleAppender" />
        </Root>
    </Loggers>
</Configuration>

在我的电脑上输出:

21:01:27.367 [main] Application INFO: Greetings from tinylog!
21:01:27.368 [main] Application INFO: Greetings from Apache Log4j 2!
于 2021-03-10T20:03:16.587 回答