接着整理
业务需求变了,需要用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 version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n </pattern> </encoder> </appender> <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${catalina.home}/logs/info.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${catalina.home}/logs/info.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> <maxFileSize>20MB</maxFileSize> </rollingPolicy> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <encoder> <pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${catalina.home}/logs/debug.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${catalina.home}/logs/debug.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> <maxFileSize>60MB</maxFileSize> </rollingPolicy> <!-- 这个得注释掉,因为加上了会重复打印,原因看下面就知道了 --> <!-- <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> --> <encoder> <pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${catalina.home}/logs/error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${catalina.home}/logs/error.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> <maxFileSize>20MB</maxFileSize> </rollingPolicy> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <encoder> <pattern>%d{HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern> </encoder> </appender> <!-- 把代码里的日志级别调为debug级别 --> <logger name="com.ihandy.chelenet" level="DEBUG" > <appender-ref ref="info"></appender-ref> <!-- 你们可以试一下 反注释下面的代码会有什么效果吐舌头 --> <!-- <appender-ref ref="debug"></appender-ref> --> <appender-ref ref="error"></appender-ref> </logger> <!-- 就是这个监控了mybatis日志输出,配合上面的“dao” --> <logger name="dao" level="DEBUG"/> <!-- 以下这些也没用 <logger name="com.apache.ibatis" level="DEBUG"/> <logger name="java.sql.Connection" level="DEBUG"/> <logger name="java.sql.Statement" level="DEBUG"/> <logger name="java.sql.PreparedStatement" level="DEBUG"/> --> <!-- 以下这些我试过,没用 <logger name="org.mybatis" level="DEBUG" additivity="false"> <appender-ref ref="debug"/> </logger> <logger name="org.apache.ibatis" level="DEBUG" additivity="false"> <appender-ref ref="debug"/> </logger> <logger name="java.sql" level="DEBUG" additivity="false"> <appender-ref ref="debug"/> </logger> --> <!-- 这个是日志总控制开关,这里面我把“debug“加上去 ,所以上面那个注释的就不要--> <root level="DEBUG"> <appender-ref ref="debug"></appender-ref> <appender-ref ref="STDOUT" /> </root> </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
补充,因为某种原因,我也只研究到这里了,这篇文章就是抛砖引玉,有什么不对的,欢迎大家提出来。
相关推荐
springboot+springMVC+tk.mybatis+lombook+yml配置+logback-spring日志配置+ueditor源码修改整合 经测试有效,内附数据库文件及测试账号数据,在项目/doc文件夹中
该实例是spring + springmvc + mybatis 完整框架实例完整,是全注解的,几乎是零配置,还运行了logback日志框架
使用 SSM(Spring、SpringMVC、MyBatis)框架,MVC 三层结构、Lucene全文检索引擎、Junit 4单元测试、logback日志框架、Druid数据库连接池、Shiro安全框架的一个博文系统;
线上Demo展示项目开发环境IDEA + Maven + Tomcat8 + Git + Mysql + Redis涉及到的相关技术Spring Framework + SpringMVC + MyBatis + Mybatis PageHelper + Redis + Logback +Guava项目目录main ├─java │ └─...
ssm框架spring + spring mvc + mybatis + logback框架
构建Spring+Springmvc+Mybatis框架,丰富框架的功能,后续集成日志插件log4j、logback,集成Druid连接池监控,集成Redis缓存,office文件操作插件poi等。 1.基于mvc实现基本的数据增删改查操作。 2.已经分别集成log4...
系统开发环境以及版本 ...Spring+Springmvc+Mybatis三大框架 Ajax技术 springmvc文件上传 shiro安全框架 Redis缓存 JavaMail邮件 基于aop切面的日志管理 Layui前端框架 登录验证码 富文本输入框 md5加密加盐
基于SpringMVC+Spring+MyBatis (SSM) 架构的高效率便捷开发框架源码+项目说明.zip 本项目是一个整合 **SpringMVC+Spring+MyBatis(SSM)** 框架的 **Demo**。 拥有高效率便捷开发模式,使开发人员更专注于业务,...
springmvc+mybatis+slf4j+logback+netty 小项目架构 可以学习借鉴
Yan项目简介(使用说明)注:全新微服务项目lion已经逐步开发,基于SpringCloud的一整套方案,详情请查看本项目是一整合整合Dubbo + Zookeeper + SpringMVC + Spring + MyBatis支持分布式的高效率快速开发RPC框架,...
java实训作业CRM客户管理系统源...Spring+Springmvc+Mybatis三大框架 Ajax技术 springmvc文件上传 shiro安全框架 Redis缓存 JavaMail邮件 基于aop切面的日志管理 Layui前端框架 登录验证码 富文本输入框 md5加密加盐
Spring4.05 Mybatis3.2.7 SpringMVC logback的maven配置demo
Spring+Springmvc+Mybatis三大框架 Ajax技术 springmvc文件上传 shiro安全框架 Redis缓存 JavaMail邮件 基于aop切面的日志管理 Layui前端框架 登录验证码 富文本输入框 md5加密加盐 【备注】 主要针对计算机相关专业...
spring+springmvc+mybatis三大框架 Ajax技术 springmvc文件上传 shiro安全框架 redis 缓存 JavaMail邮件 Springmvc 基于aop切面 的日志管理 Layui 前端框架 登录验证码 <项目介绍> 该资源内项目源码是个人的毕设,...
1、maven中的classpath是指java和resources下的路径 ...6、日志:slf4j+logback 7、优化 1)CDN CDN(内容分发网络)加速用户获取数据的系统,部署在离用户最近的网络节点上,命中 CDN不需要访问后端服
客户关系管理系统系统开发环境以及版本操作系统:Windows_7集成开发工具:Eclipse EE_4.7编译环境:JDK_1.8 Web服务器:Tomcat_9.0数据库:MySQL_5.7.23系统框架spring框架springmvc框架mybatis框架Logback日志框架...
springboot整合mybatis和logback 动态打印sql日志 不同包下的日志不同文件输出
出于兴趣,想要搭建一个自己的小站点,目前正在积极的准备环境,利用Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git,这里总结下最近遇到的一些问题及解决办法。