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>