Springboot2模块系列:日志logback(持久化)

1 pom.xml

<dependency>
      <groupId>ch.qos.logbackgroupId>
      <artifactId>logback-coreartifactId>
      <version>1.2.3version>
    dependency>
    <dependency>
      <groupId>ch.qos.logbackgroupId>
      <artifactId>logback-classicartifactId>
      <version>1.2.3version>
    dependency>

2 logback.xml

  • /resources/config/logback.xml

<configuration>
  
  <property name="log.path" value="./logs"/>
   
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] - %m%npattern>
    encoder>
    
    
  appender>

   
  <appender name="ERROR-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
     
    <file>${log.path}/error.logfile>
    
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] - %m%npattern>
    encoder>
    
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
      
      <level>ERRORlevel>
      
      <onMatch>ACCEPTonMatch>
      
      <onMismatch>DENYonMismatch>
    filter>
    
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      
      <fileNamePattern>error.%d{yyyy-MM-dd}.logfileNamePattern>
      
      <maxHistory>30maxHistory>
    rollingPolicy>
  appender>

  
  <root level="debug">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="ERROR-OUT" />
  root>
configuration>

3 application.yml

logging: 
  config: classpath:config/logback.xml

4 logs生成路径

  • projectpath/logs/error.log

5 日志模块使用

5.1 日志生成

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class LoggerSave{
	static Logger logger = LoggerFactory.getLogger(LoggerSave.class);
	public void main(String[] args){
		logger.error("error test");
	}
}

5.2 日志语法

// {}存放数据
logger.info("姓名:{},性别:{}",variable-1,variable-2);
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class InfoTest(){
	static Logger logger = LoggerFactory.getLogger(InfoTest.class);
	logger.info("日志内容");
	String name="xiaohua";
	String sex="male";
	logger.info("姓名:{},性别:{}",name,sex);
}

6 日志

6.1 日志种类

log4j日志共8类.

序号 日志分类 说明 级别
1 OFF 关闭所有日志记录 最高级,定为8级
2 FATAL 重大错误信息,导致程序运行失败或退出 7
3 ERROR 错误事件,不影响程序正常运行 6
4 WARN 潜在错误事件 5
5 INFO 粗粒度信息,程序运行信息 4
6 DEBUG 细粒度信息,调试信息 3
7 TRACE 低级日志,一般不用 2
8 ALL 最低等级日志,记录所有日志信息 1

6.2 日志级别

日志打印规则:
打印比当前设定规则更高或等于当前规则级别的日志.
OFF日志级别最高,因为没有比OFF级别更高的日志,所以设定该级别时,将不会打印所有日志.
设置日志级别为DEBUG,则会打印的日志有:DEBUG,INFO,WARN,ERROR,FATAL


[1]https://www.jianshu.com/p/8586827ae037
[2]https://blog.csdn.net/wxyf2018/article/details/90289118
[3]https://www.cnblogs.com/keeya/p/10101547.html
[4]https://blog.csdn.net/qq_29580525/article/details/79482020

你可能感兴趣的:(#,Spring,日志保存,springboot,slf4j)