SpringBoot从入门到精通教程(十五)- Logback日志框架集成

需求背景

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输出

完整源码下载

我的Github源码地址:

https://github.com/hemin1003/spring-boot-study/tree/master/spring-boot2-study/spring-boot2-parent/spring-boot2-logback

下一章教程

SpringBoot从入门到精通教程(十六)- ELK日志集成

该系列教程

SpringBoot从入门到精通教程

 

 

 

至此,全部介绍就结束了

 

------------------------------------------------------

------------------------------------------------------

 

关于我(个人域名)

我的开源项目集Github

 

期望和大家一起学习,一起成长,共勉,O(∩_∩)O谢谢

欢迎交流问题,可加个人QQ 469580884,

或者,加我的群号 751925591,一起探讨交流问题

不讲虚的,只做实干家

Talk is cheap,show me the code

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页