扩展知识点:适配器设计模式。

maven 的 gav 依赖:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.7.13</version>
</dependency>

下面加入我们的测试代码:

/**
 * Hello world!
 */
public class App {


    private static Logger logger = LoggerFactory.getLogger(App.class);

    public static void main(String[] args) {
        logger.info("Hello World!");
        int result = sum(2, 2);
        System.err.print("2 + 2 = " + result);

    }

    public static int sum(int a, int b) {
        return a + b;
    }
}

控制台打印:
slf4j 简单日记门面学习_apache

上面的代码中,我们只有 slf4j ,没有任何实现。

现在我们加入实现:

我们使用 log4j 的日志实现:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.7.13</version>
</dependency>

log4j.properties 配置文件片段(从 log4j 官网上抄的)

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

控制台打印:
slf4j 简单日记门面学习_官网_02

现在我们再换用 jdk 的日志实现:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-jdk14</artifactId>
  <version>1.7.13</version>
</dependency>

控制台打印:

slf4j 简单日记门面学习_slf4j_03