1.日志框架应该具有的能力
2.
logback 的一些用法
@Slf4j 可以不用每个类上面都写 private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);
package com.imooc; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; /** * Created by Administrator on 2018/11/5. */ @RunWith(SpringRunner.class) @SpringBootTest @Slf4j public class LoggerTest { // private final Logger logger = LoggerFactory.getLogger(LoggerTest.class); @Test public void test1() { String name = "姓名"; int age = 2; log.info("username:{},age:{}", name, age); log.info("info"); log.debug("debug"); log.error("error"); } }
2.1 第一种写法 只能简单的配置输出格式和路径
#logging: # pattern: ## console: "%d - %msg%n" ## path: D:JavaInstallselllog # file: D:JavaInstallsellloglog1.log # level: # com.imooc.LoggerTest: debug
2.2 第二种格式 新建一个配置文件 (一般用这个写法)
logback-spring.xml
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <appender name="comsoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern> %d -- %msg%n </pattern> </layout> </appender> <!--只输出info日志--> <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> <!--<onMatch>DENY</onMatch>--> <!--<onMismatch>ACCEPT</onMismatch>--> </filter> <encoder> <pattern> %msg%n </pattern> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <fileNamePattern> D:JavaInstallsellloginfo.%d.log </fileNamePattern> </rollingPolicy> </appender> <!--只输出error级别的日志--> <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder> <pattern> %msg%n </pattern> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <fileNamePattern> D:JavaInstallselllogerror.%d.log </fileNamePattern> </rollingPolicy> </appender> <root level="info"> <appender-ref ref="comsoleLog"></appender-ref> <appender-ref ref="fileInfoLog"></appender-ref> <appender-ref ref="fileErrorLog"></appender-ref> </root> </configuration>