用于记录系统中发生的事件。
all < trace < debug < info < warn < error < fatal < off
<!-- 导入logback ,IDEA会自动导入 slf4 j和 logback -core --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version> 1.2.3 </version> </dependency>
//创建一个测试 import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class logTest { private Logger log = LoggerFactory.getLogger(logTest.class); @Test public void test1(){ log.trace("go trace"); log.debug("go debug"); log.info("go info"); log.warn("go warn"); log.error("go error"); //slf4j 没有fatl } } <!--测试结果:logback默认的配置 22:04:09.208 [main] DEBUG com.lq.logTest - go debug 22:04:09.212 [main] INFO com.lq.logTest - go info 22:04:09.212 [main] WARN com.lq.logTest - go warn 22:04:09.212 [main] ERROR com.lq.logTest - go error -->
//resource下建 logback.xml <?xml version="1.0" encoding="UTF-8" ?> <!--scan : true是定期扫描logback.xml配置文件,如有改动,会重新加载 scanPeriod:设置扫描周期 debug:true是打印logback内部日志信息 --> <configuration scan="true" scanPeriod="60 seconds" debug="true"> <property name="log.path" value="D:/log"/> <property name="CONSOLE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} | -{%-5p} in %logger.%M[line-%L] -%m%n"/> <!-- 1. 输出到控制台--> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <!--输出不低于debug的日志等级,自己设置等级 --> <level>debug</level> </filter> <encoder> <!--日志格式 对应11行--> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 3. 存放在文件中 --> <appender name="file" class="ch.qos.logback.core.FileAppender"> <!--存放路径和名字,具体位置在第九行--> <filter>${log.path}/hello2.log</filter> <encoder> <pattern>${CONSOLE_LOG_PATTERN}</pattern> </encoder> </appender> <!-- 4。 另一种 --> <appender name="file2" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}/hello.log</file> <encoder> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <charset>UTF-8</charset> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedFileNamingAndTriggeringPolicy"> <fileNamePattern>${log.path}/hello-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!--设置存放日志文件的最大内存--> <maxFileSize>1kb</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--存放周期,1 则是前一天和今天,自己设置,不设置保存所有 --> <maxHistory>1</maxHistory> </rollingPolicy> </appender> <!-- 2. 哪些日志可以输出 level是不低于这个日志等级 。 如果上面有level:debug。说明日志等级要不低于trace且debug--> <root level="trace"> <!--注册--> <appender-ref ref="CONSOLE"/> <appender-ref ref="file"/> <appender-ref ref="file2"/> </root> </configuration>
结果就不写了,想跑一下的自己跑看看