Logback教程:创建maven工程,打印到控制台,输出到文件中 作者:马育民 • 2021-01-24 15:55 • 阅读:10088 # 创建普通maven工程 略 # 修改pom.xml 添加下面依赖: ``` ch.qos.logback logback-classic 1.2.3 ``` # logback.xml 配置文件 在 `resources` 文件夹下创建 `logback.xml` 文件,内容如下: ``` %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%L- %msg%n UTF-8 ${log-dir}/${log-name}.log ${log-dir}/${log-name}.%d{yyyy-MM-dd}.%i.log 7 5MB %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%L- %msg%n UTF-8 ``` **重点:** - `` 定义的日志级别是 `info`,大于等于该级别的打印日志,才会执行 - `` 包下的日志级别是 `debug` ,不受`` 的控制 配置详见: https://www.cnblogs.com/ryelqy/p/10314147.html # 测试类 ### Mapper ``` package top.malaoshi.mapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Mapper { static final Logger log= LoggerFactory.getLogger(Mapper.class); public static void test(){ String content="测试:abc 123 中文"; log.trace("trace级别:: {}-{}",content); log.debug("debug级别:: {}-{}",content); log.info("info级别:: {}-{}",content); log.warn("warn级别:: {}-{}",content); log.error("error级别:: {}-{}",content); } } ``` ### 主启动类 ``` package top.malaoshi; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import top.malaoshi.mapper.Mapper; public class Main { static final Logger log= LoggerFactory.getLogger(Main.class); public static void main(String[] args) { String content="hello world!--测试中文"; log.trace("trace级别:: {}-{}",content); log.debug("debug级别:: {}-{}",content); log.info("info级别:: {}-{}",content); log.warn("warn级别:: {}-{}",content); log.error("error级别:: {}-{}",content); Mapper.test(); } } ``` 显示结果: ``` 16:25:28.281 [main] INFO top.malaoshi.Main:14- info级别:: hello world! 16:25:28.284 [main] WARN top.malaoshi.Main:15- warn级别:: hello world! 16:25:28.284 [main] ERROR top.malaoshi.Main:16- error级别:: hello world! 16:25:05.565 [main] DEBUG top.malaoshi.mapper.Mapper:13- debug级别:: abc123 16:25:05.566 [main] INFO top.malaoshi.mapper.Mapper:14- info级别:: abc123 16:25:05.566 [main] WARN top.malaoshi.mapper.Mapper:15- warn级别:: abc123 16:25:05.566 [main] ERROR top.malaoshi.mapper.Mapper:16- error级别:: abc123 ``` ### 为什么显示下面3行? ``` 16:25:28.281 [main] INFO top.malaoshi.Main:14- info级别:: hello world! 16:25:28.284 [main] WARN top.malaoshi.Main:15- warn级别:: hello world! 16:25:28.284 [main] ERROR top.malaoshi.Main:16- error级别:: hello world! ``` 原因:由于在配置文件中设置了: ``` ``` 所以,只有 `日志打印级别 >= info`,才会显示到控制台,写入到文件中 ### 为什么显示下面4行? 下面显示了 `debug` 级别的日志,不符合 `日志打印级别 >= info` ``` 16:25:05.565 [main] DEBUG top.malaoshi.mapper.Mapper:13- debug级别:: abc123 16:25:05.566 [main] INFO top.malaoshi.mapper.Mapper:14- info级别:: abc123 16:25:05.566 [main] WARN top.malaoshi.mapper.Mapper:15- warn级别:: abc123 16:25:05.566 [main] ERROR top.malaoshi.mapper.Mapper:16- error级别:: abc123 ``` 原因:由于在配置文件中设置了: ``` ``` 所以,`top.malaoshi.mapper` 包及其子包的有效级别是`debug`,也就是说 `日志打印级别 >= debug`,就会显示到控制台,写入到文件中 **即:不受下面配置的控制:** ``` ``` 原文出处:http://malaoshi.top/show_1IXStZM0rZW.html