关键词:
1.背景
logback和log4j的创始人设计的另一种日志开源组件,中文官网是http://www.logback.cn/.
logback和log4j区别和优势,简而言之就是logback更轻,更快,性能更好.具体的可以上官网查看.
2.项目中的替换,项目中暂时还没有替换,自己单独做的替换.
mybatis版本是3.2.8,框架是ssm.
2.1 添加jar包,总共有三个核心jar包
<!--logback日志jar包--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>
原来项目中使用的是log4j+slf4j,现在替换成logback_slf4j,所以可能会产生冲突.
解决办法是:删除slf4j-log4j12-1.6.4.jar这个jar包
2.2 打印执行的sql语句需要配置两个地方
mybatis-config.xml:
<setting name="logImpl" value="STDOUT_LOGGING" />
logback.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern> %dHH:mm:ss.SSS [%thread] %-5level %logger36 - %msg%n </pattern> </encoder> </appender> <logger name="java.sql.Connection" level="ERROR" /> <logger name="java.sql.Statement" level="ERROR" /> <logger name="java.sql.PreparedStatement" level="ERROR" /> <logger name="com.hyit.appdev.x.x.dao" level="DEBUG"/> <root level="DEBUG"> <appender-ref ref="STDOUT"></appender-ref> </root> </configuration>
打印结果:
可以看出连查询出的结果都一并打印了出来.
修改一下配置文件:
打印结果,没有rows了:
2.3 将打印输出到文件(这一步我并没有实现...不知道什么原因,只能在控制台输出,不能输出到文件)
logback.xml增加配置:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <property name="LOG_HOME" value="D:workprojectlogspoint"/> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern> %dyyyy-MM-dd HH:mm:ss.SSS [%thread] %-5level %logger36 - %msg%n </pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>$LOG_HOME/spring.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <FileNamePattern>$LOG_HOME/spring.%dyyyy-MM-dd-HH.%i.log</FileNamePattern> <MaxHistory>20</MaxHistory> <MaxFileSize>500MB</MaxFileSize> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%dyyyy-MM-dd HH:mm:ss.SSS [%thread] %-5level %logger50 - %msg%n</pattern> </encoder> </appender> <!--<logger name="com.hyit.appdev" level="DEBUG"></logger> <logger name="com.hyit.appdev.x.x.dao" level="DEBUG"></logger>--> <logger name="java.sql.Connection" level="ERROR" /> <logger name="java.sql.Statement" level="ERROR" /> <logger name="java.sql.PreparedStatement" level="ERROR" /> <!-- <logger name="com.hyit.appdev.x.x.dao" level="DEBUG"/>--> <root level="DEBUG"> <appender-ref ref="STDOUT"></appender-ref> <appender-ref ref="FILE" /> </root> </configuration>
并没有生效,百度解决方案在mybatis-config.xml中增加下面这条语句也没有用:
<setting name="logImpl" value="SLF4J" />
把日志从log4j转换成logback的经历
参考技术A既然log4j1.x出问题了,之前用logback的时候又觉得挺爽了,那么就抓紧换吧,老规矩,方案先行。经过一番调查研究,制定如下战略:对上面的几个jar解释下:这个可以通过idea的maven插件的ShowDependencies功能查看有那些包... 查看详情
log4j升级到logback
...现在log4j已经基本上不更新很久了,但实际上升级log4j到logback最大的难度并不在于本身的替换,而是现有大量的三方jar依然使用log4j,以至于无法100%的exclude掉,所以很有可能是无法做到纯粹将log4j升级到logback的。在我们的很多系... 查看详情
logback的使用笔记
...了英文文档,发现暂时用不到,以后再整理2017-04-0900:57:26logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的。 logback由三个部分组成,logback-core,logback-classic,logback-access。其中logback-core是其他两个模块的基础。lo... 查看详情
log4j
1、Logback为取代log4j而生 Logback是由log4j创始人CekiGülcü设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback-classic和logback-access。2、Logback的核心对象:Logger、Appender、Layout   查看详情
logback的使用和logback.xml详解(代码片段)
一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站:http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4jAPI使你... 查看详情
日志框架logback相对于log4j的优势
日志框架logback相对于log4j的优势。更快的实现 Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小了。 非常充分的测试 Logback经过了几年,数不清小时的... 查看详情
log4j+slf4j管理日志项目迁移logback+slf4j
...理要转换成logbacak的日志管理。介于之前并未深究log4j和logback日志,所以做起来也很是头疼,不得不查询资料问别人,才勉强完成,所以记录一下从头的步骤,以供别人参考,有不对地方还请大神斧正。首先提供一下log4j和slf4j以... 查看详情
logback与log4j比较
摘自:https://www.cnblogs.com/smile361/p/7592684.htmllogback与log4j比较更快的执行速度:基于我们先前在log4j上的工作,logback重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快上10倍。在保证logback的组件更加快速的... 查看详情
是否有技术原因更喜欢使用 logback 而不是 log4j?
】是否有技术原因更喜欢使用logback而不是log4j?【英文标题】:Aretheretechnicalreasonstopreferusinglogbackinsteadoflog4j?【发布时间】:2010-09-1518:47:51【问题描述】:新项目是否应该使用logback而不是log4j作为日志框架?或者换个说法:\'logba... 查看详情
logback与log4j比较
更快的执行速度:基于我们先前在log4j上的工作,logback重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快上10倍。在保证logback的组件更加快速的同时,同时所需的内存更加少。logback-classic非常自然的实现了SLF... 查看详情
springboot配置logback日志
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback-classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个改良版本。此外logback-classic完整实现SLF4JAPI使你可以... 查看详情
logback日常应用总结(代码片段)
一、logback简介:logback-classic是log4j的一个改良版本。此外logback-classic完整实现SLF4JAPI使你可以很方便地更换成其它日志系统如log4j或JDK14Logging。二、特点如下:1、基于我们先前在log4j上的工作,logback重写了内部的实现&... 查看详情
日志框架--logback(代码片段)
logback背景介绍:SLF4J(SimpleLoggingFacadeforJava)是一个日志API接口,SLF4J提供TRACE,DEBUG,INFO,WARN,ERROR五种级别,而log4j和logback就是对SLF4J的具体实现。logback的性能优于log4j。logback-core:其它两个模块的基础模块logback-classic:它是log4j的一... 查看详情
多应用中间的日志使用,log4j,log4j2,logback三个日志框架为例
多应用中间的日志使用,log4j,log4j2,logback三个日志框架为例分别使用三个日志框架建好测试log4jlog4j2logback上面的三个同时引入一个应用中将日志统一使用slf4j标准不能修改p... 查看详情
springboot实践:logback日志配置
1、logback是什么?工作中一直用的是log4j日志框架,接触了SpringBoot后,因为logback是默认框架,才开始进行了解。来看下官网的相关介绍。 可以看到,logback是log4j的进化版,是为了替代log4j的。logback分三个模块:logback-core:核... 查看详情
logback基本入门(代码片段)
1.logback的定义 Logback是由log4j创始人设计的另一个开源日志组件,官方网站:http://logback.qos.ch。它当前分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了... 查看详情
logback的使用和logback.xml详解
一、logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站:http://logback.qos.ch。它当前分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实... 查看详情
logback日志小记(代码片段)
优势看了一下Logback的官方文档,说换成LogBack的原因大概有一下几个: 1.说是logBack的设计开发和log4j是同一批人员,重写了内核,习惯上总体跟log4j一样,不会有太多生疏感。在一些关键路径上性能快乐很多,初始化的内... 查看详情