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");

}


}


相关文章
|
XML Java 测试技术
SpringBoot入门篇 01、Springboot入门及配置(二)
SpringBoot入门篇 01、Springboot入门及配置(二)
|
4月前
|
人工智能 Linux API
OpenClaw 阿里云+本地多系统部署全攻略,大模型配置+planning-with-files技能实战解析
在基于OpenClaw(Clawdbot,开发者昵称“龙虾”)进行AI协作的过程中,开发者常面临这样的问题:面对复杂任务时,与AI的多轮对话极易丢失上下文,最终输出结果偏离预期,甚至出现逻辑混乱的情况。2026年,planning-with-files技能的出现彻底解决了这一痛点,该技能通过文件化的规划方式,将复杂任务的执行过程沉淀为标准化文档,让AI协作具备可追溯、可恢复、可管控的特性。本文将完整梳理2026年OpenClaw在阿里云及本地MacOS、Linux、Windows11系统的部署流程,详解阿里云千问大模型与免费Coding Plan API的配置方法,深度解析planning-w
1013 3
|
23天前
|
存储 安全 Java
首个 Java Harness Framework 来了 -- AgentScope 1.1 HarnessAgent 详解
AgentScope Java 1.1.0正式发布,完整实现Harness Framework:支持工作区驱动、可插拔抽象文件系统、开箱即用上下文管理与子Agent编排,兼顾个人提效与企业级安全、隔离、分布式部署需求。
|
3月前
|
人工智能 自然语言处理 监控
字节开源 DeerFlow 2.0:智能体开始“自己干活”了
字节开源DeerFlow 2.0智能体框架:告别“问答式AI”,支持长时任务执行、多Agent协作、沙盒代码运行与分层记忆。面向测试开发,可自动生成用例、执行接口测试、定位缺陷,推动测试从“脚本编写”迈向“流程设计”新阶段。
|
7月前
|
负载均衡 Java 应用服务中间件
Nacos注册中心
本文介绍了Nacos的安装部署、服务注册与发现、分级模型、负载均衡策略、权重控制、环境隔离及临时/持久化实例等核心功能,涵盖从本地启动到生产级配置的完整实践流程。通过实际操作演示了如何整合Spring Cloud Alibaba实现服务治理,并深入解析其架构设计与应用场景。
 Nacos注册中心
|
7月前
|
SQL 容灾 数据库
分布式事务Seata
本章学习分布式事务问题及解决方案,涵盖CAP、BASE理论,并深入讲解Seata框架的XA、AT、TCC、SAGA四种模式原理与实现,掌握跨服务事务一致性处理及高可用部署。
 分布式事务Seata
|
7月前
|
XML Java 数据库
SpringCloud工程部署启动
本文介绍SpringCloud微服务工程的搭建与部署,涵盖项目创建、模块配置、数据库导入及服务远程调用实现。通过RestTemplate完成服务间HTTP通信,解决跨服务数据获取问题,并引导读者理解微服务拆分与调用关系,为后续深入学习奠定基础。(239字)
 SpringCloud工程部署启动
|
7月前
|
SQL 容灾 Nacos
Seata的部署和集成
本文介绍Seata TC服务器的部署与微服务集成,包括下载、解压、配置修改、数据库表创建及启动步骤,并实现基于Nacos的高可用与异地容灾集群,提升分布式事务可靠性。
|
7月前
|
消息中间件 Linux Shell
RabbitMQ部署指南
本文介绍了RabbitMQ在CentOS 7上基于Docker的单机与集群部署方案。内容涵盖镜像安装、DelayExchange插件配置,并详细说明了普通模式与镜像模式集群的搭建及测试方法,重点解析了镜像队列的高可用机制。此外,还引入了3.8版本后推荐的仲裁队列,展示其自动容灾与动态扩容能力,为构建稳定可靠的消息中间件系统提供完整实践指南。(239字符)
 RabbitMQ部署指南
|
7月前
|
自然语言处理 Java Shell
安装ES、Kibana、IK
本文介绍了如何通过Docker部署单点Elasticsearch与Kibana,并配置IK分词器。内容涵盖网络创建、镜像加载、容器运行、DevTools使用,以及IK分词器的安装与扩展词典、停用词配置,助力中文文本分析。
 安装ES、Kibana、IK