spring+springMVC+Mybatis下的logback日志

【徒手搭建SSM开发环境七】集成logback日志模块 集成logback日志模块 mybatis集成完后,从调试日志输出中只能看到见到的信息,无法满足使用需求,在实际的SSM集成中,需要集成日志模块,覆盖原有的日志方式, 使得日志记录更加详细,运维开发的效率更高,以下为集成步骤 1,引入logback相关依赖包 org.slf4j slf4j-api 1.7.25 ch.qos.logback logback-classic 1.2.6 ch.qos.logback logback-c 阅读详情

原文地址:spring+springMVC+Mybatis下的logback日志


业务需求变了,需要用logback框架,替换掉log4j。给出理由是logback比log4j快。怎么快,我这里就不

说了。因为xml做logback日志配置文件的比较多,我这里就用xml

前提,假设你们了解过一点logback,因为我省略了好多注释。比如:为什么没看见spring加载logback

就像http://995998760.iteye.com/blog/2283753这篇文章的第四步,log4j需要spring去加载,因为logback不需要。

 

1、tomcat容器和logback的结合

在web.xml上加入

<context-param>

<param-name>logbackConfigLocation</param-name>

<param-value>classpath:logback.xml</param-value>

</context-param>

<listener>

<listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>

</listener>

 

2、logback配置文件(能打印sql日志)

因为mybatis原则上是不支持logback,但是logback是SLF4J的完美实现者(有点像java的接口和实现类感觉)

所以需要在mybatis-config.xml里加上

<setting name="logImpl" value="SLF4J"/>

 

因为,logback监控java.sql不是很好

就像这句话<logger name="java.sql.Connection" level="DEBUG"/>没有任何作用,不会打印sql语句

所以在mybatis-config.xml里再加上

<setting name="logPrefix" value="dao."/>

这句话的意思是,在所有的SQL映射路径上加上“dao”这个前缀,有点像SQL语句配置文件(***.xml)在“dao”这个虚拟的目录下,具体作用后面讲

 

logback.xml文件,或者logback-test.xml文件,可以不写(区别log4j日志框架),因为框架检测到没有改配置文件的时候,就会取代码默认条件执行(我试过了,级别是debug,单个文件记录)。我需要多个文件记录日志,所以不采取默认方式,自己配,如下

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <configuration>  
  4.   
  5.     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
  6.   
  7.         <encoder  charset="UTF-8">  
  8.   
  9.             <pattern>  
  10.   
  11.                 %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n  
  12.   
  13.             </pattern>  
  14.   
  15.         </encoder>  
  16.   
  17.     </appender>  
  18.   
  19.    
  20.   
  21.     <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  22.   
  23.         <file>${catalina.home}/logs/info.log</file>  
  24.   
  25.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  26.   
  27.             <fileNamePattern>${catalina.home}/logs/info.%d{yyyy-MM-dd}.log</fileNamePattern>  
  28.   
  29.             <maxHistory>30</maxHistory>  
  30.   
  31.             <maxFileSize>20MB</maxFileSize>  
  32.   
  33.         </rollingPolicy>  
  34.   
  35.         <filter class="ch.qos.logback.classic.filter.LevelFilter">  
  36.   
  37.             <level>INFO</level>  
  38.   
  39.             <onMatch>ACCEPT</onMatch>  
  40.   
  41.             <onMismatch>DENY</onMismatch>  
  42.   
  43.         </filter>  
  44.   
  45.         <encoder>  
  46.   
  47.             <pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>  
  48.   
  49.         </encoder>  
  50.   
  51.     </appender>  
  52.   
  53.    
  54.   
  55.     <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  56.   
  57.         <file>${catalina.home}/logs/debug.log</file>  
  58.   
  59.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  60.   
  61.             <fileNamePattern>${catalina.home}/logs/debug.%d{yyyy-MM-dd}.log</fileNamePattern>  
  62.   
  63.             <maxHistory>30</maxHistory>  
  64.   
  65.             <maxFileSize>60MB</maxFileSize>  
  66.   
  67.         </rollingPolicy>  
  68.   
  69.         <!--  这个得注释掉,因为加上了会重复打印,原因看下面就知道了  -->  
  70.   
  71.         <!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">  
  72.   
  73.             <level>DEBUG</level>  
  74.   
  75.             <onMatch>ACCEPT</onMatch>  
  76.   
  77.             <onMismatch>DENY</onMismatch>  
  78.   
  79.         </filter> -->  
  80.   
  81.         <encoder>  
  82.   
  83.             <pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>  
  84.   
  85.         </encoder>  
  86.   
  87.     </appender>  
  88.   
  89.    
  90.   
  91.     <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  92.   
  93.         <file>${catalina.home}/logs/error.log</file>  
  94.   
  95.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  96.   
  97.             <fileNamePattern>${catalina.home}/logs/error.%d{yyyy-MM-dd}.log</fileNamePattern>  
  98.   
  99.             <maxHistory>30</maxHistory>  
  100.   
  101.             <maxFileSize>20MB</maxFileSize>  
  102.   
  103.         </rollingPolicy>  
  104.   
  105.         <filter class="ch.qos.logback.classic.filter.LevelFilter">  
  106.   
  107.             <level>ERROR</level>  
  108.   
  109.             <onMatch>ACCEPT</onMatch>  
  110.   
  111.             <onMismatch>DENY</onMismatch>  
  112.   
  113.         </filter>  
  114.   
  115.         <encoder>  
  116.   
  117.             <pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>  
  118.   
  119.         </encoder>  
  120.   
  121.     </appender>  
  122.   
  123.    
  124.   
  125.     <!-- 把代码里的日志级别调为debug级别 -->  
  126.   
  127.     <logger name="com.ihandy.chelenet" level="DEBUG" >  
  128.   
  129.         <appender-ref ref="info"></appender-ref>  
  130.   
  131.         <!-- 你们可以试一下     反注释下面的代码会有什么效果吐舌头 -->  
  132.   
  133.         <!-- <appender-ref ref="debug"></appender-ref> -->  
  134.   
  135.         <appender-ref ref="error"></appender-ref>  
  136.   
  137.     </logger>  
  138.   
  139.    
  140.   
  141.     <!-- 就是这个监控了mybatis日志输出,配合上面的“dao” -->  
  142.   
  143.     <logger name="dao" level="DEBUG"/>  
  144.   
  145.    
  146.   
  147.     <!-- 以下这些也没用  
  148.   
  149.         <logger name="com.apache.ibatis" level="DEBUG"/>  
  150.   
  151.         <logger name="java.sql.Connection" level="DEBUG"/>  
  152.   
  153.         <logger name="java.sql.Statement" level="DEBUG"/>  
  154.   
  155.         <logger name="java.sql.PreparedStatement" level="DEBUG"/>  
  156.   
  157.     -->  
  158.   
  159.    
  160.   
  161.     <!-- 以下这些我试过,没用  
  162.   
  163.         <logger name="org.mybatis" level="DEBUG" additivity="false">  
  164.   
  165.                 <appender-ref ref="debug"/>  
  166.   
  167.         </logger>  
  168.   
  169.         <logger name="org.apache.ibatis" level="DEBUG" additivity="false">  
  170.   
  171.                 <appender-ref ref="debug"/>  
  172.   
  173.         </logger>          
  174.   
  175.         <logger name="java.sql" level="DEBUG" additivity="false">  
  176.   
  177.                 <appender-ref ref="debug"/>  
  178.   
  179.     </logger>    
  180.   
  181.     -->  
  182.   
  183.     <!-- 这个是日志总控制开关,这里面我把“debug“加上去 ,所以上面那个注释的就不要-->  
  184.   
  185.     <root level="DEBUG">  
  186.   
  187.         <appender-ref ref="debug"></appender-ref>  
  188.   
  189.         <appender-ref ref="STDOUT" />  
  190.   
  191.     </root>  
  192.   
  193.    
  194.   
  195. </configuration>  

 

3、以上就基本完成了

不要忘了jia包

 

logback-classic-1.1.2.jar

logback-core-1.1.2.jar

logback-ext-spring-0.1.1.jar

 

还有这个jra包,我没试过,不知道需不需要

slf4j-api-1.7.7.jar

SSM整合Logback日志框架 介绍 logback是java的日志开源组件,是log4j的作者开发的用来替代log4j的。 logback由三个部分组成,logback-core, logback-classic, logback-access。 其中logback-core是其他两个模块的基础。 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API,使我们可以在其他日志系... 阅读详情

相关推荐

springmvc+mybatis+mysql+log4jdbc+excel 实现sql日志输出和excel导出

项目使用日志框架实现sql日志完整输出,并使用springmvc和jxls分别实现excel导出

logback日志框架的配置

logback-spring.xml配置文件 自己改下value="G:/logs/pmp"这个值,如果你相关依赖弄好的话,直接复制粘贴即用 输出的日志文件的名称最好也改下,下文中<file>${log.path}/web_info.log</file>是因为我这个模块就叫web,要改的话,一个appender改两处 集成到springboot的yml格式配置文件的示例: logging: config: classpath:logback-spring.xml le

GSON的博客 1039

WSL2不能上网,Failed to connect to github.com port 443问题解决方案

WSL2不能上网: 问题:ping外网无效 例如:ping www.baidu.com失败 解决方案: 在wsl: $sudo vi /etc/wsl.conf wsl.conf: [network] generateResolvConf = false 在PowerShell: $sudo vi /etc/etc/resolv.conf resolv.conf: # This file was automatically generated by WSL. To stop automatic gen

Jason_Chen__的博客 9525

Spring mvc Mybatis使用 Logback开启日志

mybatis用logback日志不显示sql的解决方法 1.mybatis-config.xml的设定 关于logimpl的设定值还不支持logback,如果用SLF4J是不好用的。 这是官方文档的描述,见下图 设定改为STDOUT_LOGGING是可以显示sql的 修改Mybatis配置文件 2.原因是: protected Connection getCon

daoshud1的专栏 1958

本地化搭建DeepSeek+RAGFlow,构建个人知识库

本地化搭建DeepSeek+RAGFlow,构建个人知识库。至少32G以上内存、500G以上空余磁盘空间。

gogospecter的专栏 7424

请尽可能地详细说明一个VLA项目的立项训练到落地的全流程

一个机器人VLA项目的全流程是一个复杂的系统工程,它深度融合了机器人学 (Robotics)计算机视觉 (CV)和自然语言处理 (NLP)。其核心挑战在于高质量数据的获取和从仿真到现实的有效迁移。与纯粹的软件AI项目相比,它增加了硬件、物理交互和安全性的维度,但其最终能让AI走出虚拟世界、在物理世界中产生实际价值,这也是其巨大的魅力所在。

具身机器人和通用AI 303

【LogBack日志】打印mybatis中sql日志并存放到指定文件中

在springboot中使用logbac-spring.xml单独打印mybaits中的sql,另存一个单独的日志中。 2、logback-spring.xml 3、关键几点 几个关键点a. 文件名需要为​​logback-spring.xml​​; 动态日志路径才会生效; 属性文件中配置 ​​log.path=xxx​​;【Log日志】logback.xml动态配置属性值(包括接入的第三方配置)b. levle 需要是DEBUG等级; 因为sql日志是DEBUG等级的;name= 存放mapper文件的

Joe192的博客 1万+

YOLO26涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇 | 引入 LFSB 差分双维注意融合模块,通过交替特征融合与分离策略,能够精准区分目标特征,顶会助力YOLO26有效涨点

本文提出LSFB差分双维注意融合模块,用于改进YOLO26目标检测模型。该模块通过融合-分离交替策略和差分注意力机制,有效提升模型在复杂场景下的特征分离能力,特别是在处理重叠物体或反射干扰时表现优异。LSFB采用双向投影、双维注意力计算和跨流减法算子,实现特征共享与独立提取的平衡。实验表明,该模块能显著减少特征混淆,提高检测精度和鲁棒性。文章还详细介绍了模块实现的核心代码、YAML配置文件修改方法以及三种改进方案,为YOLO26模型性能提升提供了创新解决方案。

Ai缝合怪、助力小伙伴高效发论文 326

springmvc+mybatis整合下的日志配置

在web.xml中添加      log4jConfigLocation    classpath:Log4j.properties   org.springframework.web.util.Log4jConfigListener   配置,注意一定要放到spring监听器contextloaderlistener上面 在项目的src路径

青风行的博客 769

单片机应用案例:ESP32 搭配 BH1750 光强传感器和 Web 服务器

在该应用案例中,我们将使用 ESP32 开发板作为主控制器,BH1750 光强传感器用于采集环境光强度数据,并通过 Web 服务器展示采集到的数据。步骤一:购买材料步骤二:连接硬件步骤三:编写代码我们将使用 Arduino IDE 编写代码,以下是主要代码:// WiFi 设置const char* ssid = “你的 WiFi 名称”;const char* password = “密码”;// Web 服务器实例// BH1750 实例// 获取当前光强度数据。

RlDart的博客 812

机床上位机实战:CNC设备数据采集+工艺参数存储全流程(附C#代码+SQL设计)

如果能正常输出转速和状态,说明通信通了——这步是基础,没通的话别往下走,先查CNC的IP对不对、Modbus功能有没有开、地址是不是错了(我当初卡了2小时,发现是Fanuc的Modbus从站地址设成了2,不是默认1)。这篇文章就把整个开发过程拆透:从CNC通信协议选型,到数据采集代码落地,再到工艺参数的数据库设计,连中间踩过的“Fanuc系统寄存器地址对应错”“断连后数据补传”这些坑都给大家说清楚,新手跟着做也能跑通。工艺参数要跟“工单”和“设备”绑定,不然查的时候不知道是哪个工单、哪台设备的参数。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 791

Spring mvc 集成logback日志功能

一、概述        这一篇中,我们将紧接着上一篇Spring mvc入门-登录例子,把日志功能集成进来。Java日志有好几种实现方式,例如commons-logging+log4j、slf4j+log4j、slf4j+logback等待。这里不对每一种进行介绍,我们使用最流行的slf4j+logback的组合方式。大家可以参考这篇java日志知识,以便对日志有个大致的了解。对于logback的...

GAMELOFT9----纸上得来终觉浅,绝知此事要躬行 3303

ESP32-IDF开发之旅 外设篇④ 串口通信 Uart

ESP32-S3 UART串口通信详解 本文介绍了ESP32-S3的UART串口通信配置流程,涵盖硬件引脚分配、参数设置、数据收发等关键步骤。

单片机菜鸟哥的博客 495

SSM:SSM整合logback日志

SSM整合logback日志

weixin_44843569的博客 2041

vscode中运行gcc -v命令失败了,提示:gcc不是内部或外部命令...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 975

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

详细,maven整合Spring+SpringMVC+MyBatis

spring+spring MVC+MyBatis整合

weixin_42556267的博客 3065

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

slf4j+logback+spring配置

说明: slf4j仅仅是日志系统的框架,只服务于各种日志系统(log4j、logback和java.util.logging等)。slf4j就好像是接口或者抽象类,而各种日志系统则是其实现类。   logback ——具体的日志系统 为什么选择logback而不是log4j: 1)logback更快 2)配置相比之下更简单   项目使用spring+springmvc+mybat...

wodeshouji6的博客 619

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SSM整合Spring、SpringMVC、Mybatis框架的各种配置

SSM整合Spring、SpringMVC、Mybatis框架的各种配置

WoMaogq的博客 417

Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git小结(转)

摘要出于兴趣,想要搭建一个自己的小站点,目前正在积极的准备环境,利用Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git,这里总结下最近遇到的一些问题及解决办法,后续慢慢的继续补~ 目录[-] 一:建立一个Maven结构的Web工程 二:Spring、SpringMVC重复加载bean对象问题。 三:实现自个的数据缓存机制 2种缓存数据简介...

weixin_33889245的博客 177

基于SpringMVC+Spring+MyBatis实现秒杀系统【概况】

前言        本教程使用SpringMVC+Spring+MyBatis+MySQL实现一个秒杀系统。教程素材来自慕课网视频教程【https://www.imooc.com/learn/631】。有感兴趣的可以直接看慕课网视频,老师讲的不错,整个系统设计思路也很清晰。本文是我学习Spring时的一手资料,这篇文章先来看看概况,后续会分三篇文章分别介绍:底层Dao接口、Service接口、前...

weixin_33757911的博客 177

Spring+Mybatis+SpringMVC后台与前台分页展示实例(附工程)

        林炳文Evankaka原创作品。转载请注明出处http://blog.youkuaiyun.com/evankaka        摘要:本文实现了一个后台由Spring+Mybatis+SpringMVC组成,分页采用PageHelper,前台展示使用bootstrap-paginator来显示效果的分页实例。整个项目由maven构成。这里主要讲了分页的实例,框架怎么搭建就不再说明,主要是...

Evankaka的专栏 4万+

配置SSM框架——整合SpringMVC、Spring和MyBatis

mybatis-config.xml配置。log4j.properties配置。jdbc.properties配置。spring.xml配置。

m0_73703553的博客 184

Maven聚合方式整合SSM(Spring MVC+Spring+Mybatis)

Maven聚合方式整合SSM1. 父工程父工程依赖2. 基于Maven的Mybaits逆向工程pom.xmlgeneratorConfig.xml执行逆向生成操作的Maven命令逆向工程生成的资源各归各位2. Spring整合Mybaitsatcrowdfunding02-admin-webuipom.xmljdbc.propertiesmybatis-config.xmlspring-persist-mybatis.xmlatcrowdfunding03-admin-componentpom.xml测试数

输入技术、输出想法 532

日志的相关配置

下面日志的相关配置是我最近使用SSM框架做的一个商铺项目中的日志相关配置,用于记录,方便日后复习使用,仅供参考。 <?xml version="1.0" encoding="UTF-8"?> <!--scan属性代表是否开启自动扫描加载更新 scanPeriod间隔时间 默认是毫秒值,此处的时间为60秒 --> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <!-

牧之 151

学习笔记:SSM框架整合步骤

SSM整合三阶段 Spring与SpringMVC环境配置 Spring与Mybatis的整合配置 其他组件配置:声明式事务、日志······ 一、Spring与SpringMVC环境配置 1.1 依赖Spring-webmvc 在pom文件中加入SpringMVC的依赖包 <dependency> <groupId>org.springframework</groupId> <artifactId>spri

qq_34800310的博客 331
上一篇: Log4j 与 logback对比、及使用配置
下一篇: Oracle触发器用法实例详解
simon-hacker
博客等级 码龄12年 4粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值