slf4j logger.info 如何不打印出包信息
slf4j logger.info how to NOT print out the package information
假设我有这个代码:
public static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public static void main(String[] args) {
LOGGER.info("Hi !");
}
但是控制台的输出是这样的:
[main] INFO com.sirma.itt.javacourse.logger.example - Hi !
我想自定义或编辑输出。我不需要这个 "package information"。所以它看起来像这样:
[main] - Hi !
或者只是:
Hi !
这与您的 log4j 或 logback 属性中的模式有关。
在log4j中,只保留"%m%n",你可以得到一个输出"HI !"。
见https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
所以我做了什么:
1。在父 pom 中,我将默认的 slf4j 依赖项切换为:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
2。在 src/main/resources 中,我创建了一个名为 logback.xml 的文件并输入这些设置:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%thread] %-5level - %msg%n</pattern>
</encoder>
</appender>
<logger name="deng" level="DEBUG" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
假设我有这个代码:
public static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public static void main(String[] args) {
LOGGER.info("Hi !");
}
但是控制台的输出是这样的:
[main] INFO com.sirma.itt.javacourse.logger.example - Hi !
我想自定义或编辑输出。我不需要这个 "package information"。所以它看起来像这样:
[main] - Hi !
或者只是:
Hi !
这与您的 log4j 或 logback 属性中的模式有关。
在log4j中,只保留"%m%n",你可以得到一个输出"HI !"。
见https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
所以我做了什么: 1。在父 pom 中,我将默认的 slf4j 依赖项切换为:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
2。在 src/main/resources 中,我创建了一个名为 logback.xml 的文件并输入这些设置:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%thread] %-5level - %msg%n</pattern>
</encoder>
</appender>
<logger name="deng" level="DEBUG" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>