构建项目
- 访问地址:http://start.spring.io
- 添加Web依赖(SpringBoot内部集成了LogBack)
创建控制器
package com.gala.logback.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class IndexController {
private final static Logger logger = LoggerFactory.getLogger(IndexController.class);
@RequestMapping(value = "/index")
public String index() {
logger.debug("记录debug日志");
logger.info("记录index方法");
logger.error("记录error日志");
return "index";
}
}
修改LogBack配置
LogBack读取配置文件的步骤
- 尝试classpath下查找文件logback-test.xml
- 如果文件不存在,尝试查找logback.xml
- 如果两个文件都不存在,LogBack用BasicConfiguration自动对自己进行最小化配置,不需要添加任何配置就可以输出到控制台日志信息。
创建logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="./logs" />
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg %n</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/runtime.log.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
启动项目,访问地址:http://127.0.0.1:8080/index
屏蔽记录日志
修改application.yml
logging:
level:
com.gala.logback.controller: 'off'
新增TestController.java
package com.gala.logback;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
private final static Logger logger = LoggerFactory.getLogger(TestController.class);
@RequestMapping(value = "/test")
public String test() {
logger.debug("记录debug日志");
logger.info("记录index方法");
logger.error("记录error日志");
return "test";
}
}
重启项目
访问:http://127.0.0.1:8080/index
访问:http://127.0.0.1:8080/test
网友评论