我有一个干净的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
级别,这样我就可以验证是否正在读取配置文件,但当打印每个级别的单个日志时,控制台会继续打印默认级别(INFO
、WARN
和ERROR
)
我假设没有读取/检测到配置文件。
**我应该使用哪个配置文件?我应该将它放在哪里以便识别它?**或者,也许我感到困惑,我们无法使用此配置配置日志,我应该查看lombok的另一个实现?我在这里有点迷失了方向。
2条答案
按热度按时间8iwquhpp1#
只需在类路径中放置一个
logback.xml
就足够了(例如/src/main/resources
)。这是一个关于Logback如何查找配置文件的文档页面。但是对于一些库,您必须使用桥将“旧”日志程序重定向到Logback。相关问题:common-logging,JUL
7rfyedvj2#
这不是一个直接的答案,但它是主要问题的一个解决方案。我们可以不使用
logback-classic
依赖关系,而是切换到slf4j
的log4j-slf4j-impl
实现,并使用log4j2.properties
文件来配置级别和 * 格式/布局模式 *,如sample repository中所示,以获得这种日志: