需求背景
Springboot集成Logback日志框架,记录应用相关日志,输出落地到文件中
代码演示
项目目录结构:
因Springboot默认已集成了Logback框架,所以直接配置logback.xml文件即可(多环境配置文件用法教程)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- %d日期,%t线程名,%c类的全名,%p日志级别,%file文件名,%line行数,%m%n输出的信息 -->
<!-- 控制台输出配置 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d [%t] [%c] [%p] (%file:%line\)- %m%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 日志文件配置 -->
<appender name="baselog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/run.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/run.log.%d.%i</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 每一个日志文件最大size -->
<maxFileSize>64 MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- 保留天数 -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
%d [%t] [%c] [%p] (%file:%line\)- %m%n
</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
<!-- 定义日志输出的package包名 -->
<logger name="com.md" level="DEBUG">
<appender-ref ref="baselog" />
</logger>
</configuration>
相关参数含义,可见配置文件内的详细解释说明
案例说明
代码使用
package com.md.demo.rest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author Minbo
*/
@RestController
public class InitRest {
protected static Logger logger = LoggerFactory.getLogger(InitRest.class);
/**
* http://localhost:9090/hello
*
* @return
*/
@GetMapping("/hello")
public String hello() {
logger.info("hello");
return "Hello greetings from spring-boot2-logback";
}
}
启动项目,访问接口:http://localhost:9090/hello
1. 控制台日志输出
2. 日志文件log输出
完整源码下载
该系列教程
至此,全部介绍就结束了
------------------------------------------------------
------------------------------------------------------
关于我(个人域名)
期望和大家一起学习,一起成长,共勉,O(∩_∩)O谢谢
欢迎交流问题,可加个人QQ 469580884,
或者,加我的群号 751925591,一起探讨交流问题
不讲虚的,只做实干家
Talk is cheap,show me the code