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

https://logback.qos.ch/manual/layouts.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>