1. 整合Logback,滚动记录+多文件

简介: 本文展示了logback-spring.xml的配置示例,定义了ERROR、INFO等日志级别及输出文件,并通过Java代码演示如何使用Logger记录不同类型的日志信息,适用于Spring Boot项目中的日志管理。

1.logback-spring.xml

XML

复制代码

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

<?xml version="1.0" encoding="UTF-8"?>

<logger name="ERROR_LOG" additivity="${ADDITIVITY}">

<level value="ERROR"/>

<appender-ref ref="ERROR_FILE"/>

</logger>

<!--请求参数-->

<logger name="INFO_LOG" additivity="${ADDITIVITY}">

<level value="INFO"/>

<appender-ref ref="INFO_FILE"/>

</logger>

<!--请求参数-->

<logger name="REQUEST_PARAM_LOG" additivity="${ADDITIVITY}">

<level value="INFO"/>

<appender-ref ref="REQUEST_PARAM_FILE"/>

</logger>

<!--sql日志输出设置-->

<logger name="cn.zhicall.web.dao" additivity="${ADDITIVITY}">

<level value="DEBUG"/>

<appender-ref ref="SQL_FILE"/>

</logger>

<!--第三方日志输出配置-->

<logger name="java.sql.Connection" additivity="${ADDITIVITY}">

<level value="DEBUG"/>

<appender-ref ref="SQL_FILE"/>

</logger>

<logger name="java.sql.Statement" additivity="${ADDITIVITY}">

<level value="INFO"/>

<appender-ref ref="SQL_FILE"/>

</logger>

<logger name="java.sql.PreparedStatement" additivity="${ADDITIVITY}">

<level value="DEBUG"/>

<appender-ref ref="SQL_FILE"/>

</logger>

<logger name="com.alibaba.druid" additivity="${ADDITIVITY}">

<level value="DEBUG"/>

<appender-ref ref="SQL_FILE"/>

</logger>

<logger name="java.sql.ResultSet" additivity="${ADDITIVITY}">

<level value="INFO" />

<appender-ref ref="SQL_FILE" />

</logger>

<!-- spring的日志输入设置 -->

<logger name="org.springframework" additivity="${ADDITIVITY}">

<level value="INFO"/>

<appender-ref ref="INFO_FILE"/>

</logger>

<logger name="org.mybatis.spring.mapper" additivity="${ADDITIVITY}">

<level value="INFO"/>

<appender-ref ref="INFO_FILE"/>

</logger>

<!-- MyBatis日志输出设置 -->

<logger name="org.apache.ibatis" level="DEBUG" additivity="${ADDITIVITY}">

<level value="INFO"/>

<appender-ref ref="SQL_FILE"/>

</logger>

<logger name="org.apache.ibatis.io.ResolverUtil" additivity="${ADDITIVITY}">

<level value="INFO"/>

<appender-ref ref="SQL_FILE"/>

</logger>


<root level="debug">

<appender-ref ref="CONSOLE" />

</root>

</configuration>

2.使用示例

Java

运行代码复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

package cn.test.web.controller.im;


import com.zhicall.framework.core.common.utils.log.LogProxy;

import org.slf4j.Logger;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.web.bind.annotation.*;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;


import java.util.concurrent.TimeUnit;


/**

* @author Herb

* @create 2020-04-26 13:05

**/

@RestController

@RequestMapping("/test")

public class TestController {


private Logger logger = LogProxy.getLogger("INFO_LOG");

private Logger logger2 = LogProxy.getLogger("ERROR_LOG");


   @Autowired

private ImPlatformDoctorService imPlatformDoctorService;


   @Autowired

protected RedisTemplate redisTemplate;


   @GetMapping("/getuser")

public void getuser() {

logger.info("进入getUser(INFO_LOG-INFO)");

logger.error("进入getUser(INFO_LOG-ERROR)");

logger2.error("进入getUser(ERROR_LOG-ERROR)");

imPlatformDoctorService.queryDoctorConfig(10407L, "1");

}


}


相关文章
|
20天前
|
人工智能 JavaScript Linux
【Claude Code 全攻略】终端AI编程助手从入门到进阶(2026最新版)
Claude Code是Anthropic推出的终端原生AI编程助手,支持40+语言、200k超长上下文,无需切换IDE即可实现代码生成、调试、项目导航与自动化任务。本文详解其安装配置、四大核心功能及进阶技巧,助你全面提升开发效率,搭配GitHub Copilot使用更佳。
11983 22
|
2月前
|
SQL 容灾 数据库
分布式事务Seata
本章学习分布式事务问题及解决方案,涵盖CAP、BASE理论,并深入讲解Seata框架的XA、AT、TCC、SAGA四种模式原理与实现,掌握跨服务事务一致性处理及高可用部署。
 分布式事务Seata
|
2月前
|
XML Java 数据库
SpringCloud工程部署启动
本文介绍SpringCloud微服务工程的搭建与部署,涵盖项目创建、模块配置、数据库导入及服务远程调用实现。通过RestTemplate完成服务间HTTP通信,解决跨服务数据获取问题,并引导读者理解微服务拆分与调用关系,为后续深入学习奠定基础。(239字)
 SpringCloud工程部署启动
|
2月前
|
负载均衡 Java 应用服务中间件
Nacos注册中心
本文介绍了Nacos的安装部署、服务注册与发现、分级模型、负载均衡策略、权重控制、环境隔离及临时/持久化实例等核心功能,涵盖从本地启动到生产级配置的完整实践流程。通过实际操作演示了如何整合Spring Cloud Alibaba实现服务治理,并深入解析其架构设计与应用场景。
 Nacos注册中心
|
2月前
|
Java Nacos Maven
Eureka服务注册与发现
本章介绍Spring Cloud中Eureka注册中心的搭建与使用,完成服务注册与发现的基本配置,通过user-service和order-service接入演示服务治理流程,为后续Nacos替换奠定实践基础。(238字)
 Eureka服务注册与发现
|
2月前
|
SQL 容灾 Nacos
Seata的部署和集成
本文介绍Seata TC服务器的部署与微服务集成,包括下载、解压、配置修改、数据库表创建及启动步骤,并实现基于Nacos的高可用与异地容灾集群,提升分布式事务可靠性。
|
2月前
|
自然语言处理 Java Shell
安装ES、Kibana、IK
本文介绍了如何通过Docker部署单点Elasticsearch与Kibana,并配置IK分词器。内容涵盖网络创建、镜像加载、容器运行、DevTools使用,以及IK分词器的安装与扩展词典、停用词配置,助力中文文本分析。
 安装ES、Kibana、IK
|
2月前
|
JSON Java Shell
Jmeter快速入门
本文介绍JMeter的安装与快速入门使用方法,包括环境依赖、下载解压、启动运行、中文界面设置及基本测试计划创建,涵盖线程组配置、HTTP请求添加、监听器使用等性能测试核心操作步骤。
 Jmeter快速入门
|
2月前
|
存储 安全 小程序
1.认识OAuth2.0
OAuth2.0是开放授权标准,允许第三方应用在不获取用户账号密码的前提下,通过令牌安全访问用户资源。常见于打印照片、第三方登录等场景,支持授权码、简化、密码及客户端四种模式,广泛用于服务间资源共享与单点登录。