log4j 使用lombok时,我们不能配置日志吗?

ie3xauqp  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(285)

我有一个干净的maven项目,并使用lombok与此依赖关系在我的pom:

编辑here is a sample project,其中包含我列出的配置,以便您查看。

<!--region Lombok Configuration -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.8.0-beta2</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
            <type>jar</type>
        </dependency>
        <!-- endregion -->

将4个重复文件分别放置在/src/src/main/resources中:
1.slf 4j.属性=
1.log4j.properties

log4j.rootLogger=ERROR,stdout
log4j.logger.com.myorg=ERROR
log4j.logger.com.myorg.internal.myproj=ERROR

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%m%n

1.简单日志记录器.属性

org.slf4j.simpleLogger.defaultLogLevel=ERROR

1.回登录.xml

<configuration>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>

<root level="error">
    <appender-ref ref="STDOUT" />
</root>
</configuration>

我将所有日志放在ERROR级别,这样我就可以验证是否正在读取配置文件,但当打印每个级别的单个日志时,控制台会继续打印默认级别(INFOWARNERROR
我假设没有读取/检测到配置文件。

**我应该使用哪个配置文件?我应该将它放在哪里以便识别它?**或者,也许我感到困惑,我们无法使用此配置配置日志,我应该查看lombok的另一个实现?我在这里有点迷失了方向。

8iwquhpp

8iwquhpp1#

只需在类路径中放置一个logback.xml就足够了(例如/src/main/resources)。这是一个关于Logback如何查找配置文件的文档页面。但是对于一些库,您必须使用桥将“旧”日志程序重定向到Logback。
相关问题:common-loggingJUL

7rfyedvj

7rfyedvj2#

这不是一个直接的答案,但它是主要问题的一个解决方案。我们可以不使用logback-classic依赖关系,而是切换到slf4jlog4j-slf4j-impl实现,并使用log4j2.properties文件来配置级别和 * 格式/布局模式 *,如sample repository中所示,以获得这种日志:

相关问题