slf4j绑定JUL案例
第一步:pom.xml
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.32</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.32</version>
</dependency>
第二步:测试代码
package com.example.test;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestSlf4j {
private static final Logger LOGGER = LoggerFactory.getLogger(TestSlf4j.class);
@Test
public void testSlf4j() {
LOGGER.error("error");
LOGGER.warn("warn");
LOGGER.info("info");
LOGGER.debug("debug");
LOGGER.trace("trace");
String name = "lucy";
Integer age = 18;
LOGGER.info("{}今年{}岁了!", name, age);
try {
int i = 1 / 0;
} catch (Exception e) {
LOGGER.info("出现异常:", e);
}
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/0227107c7a0c41a09885f9f0f05a4f54.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pCe6ZKx6Ieq5b6L,size_20,color_FFFFFF,t_70,g_se,x_16)
实现原理
Slf4j接口
package com.example.logging;
public interface Slf4j {
void log();
}
JUL
package com.example.logging;
public class JUL {
public void logging() {
System.out.println("JUL logging 日志具体实现");
}
}
Slf4j_JUL_bridging
package com.example.logging;
public class Slf4j_JUL_bridging extends JUL implements Slf4j {
@Override
public void log() {
logging();
}
}
测试代码
package com.example.logging;
public class TestCustomBridging {
public static void main(String[] args) {
Slf4j slf4j =new Slf4j_JUL_bridging();
slf4j.log();
}
}