前言

最近考虑到log4j很久不更新、性能相对弱,以及一些项目本身的原因,经过较为谨慎的考虑,决定改用logback。如果你已经对log4j很熟悉,你也可以很快上手logback。如果你喜欢使用log4j,你也许会迷上使用logback。迁移还是比较顺利的,花了1个小时左右就搞定了,做个简单的笔记。
方法如下
(1) 首先去掉所有log4j相关的依赖,主要有:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </dependency>
以及:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency>
(2) 为项目添加以下依赖:
<!-- logback日志配置开始 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-access</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> </dependency> <!-- logback日志配置结束 -->
(3) 删除项目/src/main/resources目录下的log4j.properties,并在该目录添加logback.xml文件,logback.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<Target>System.out</Target>
<encoder>
<pattern>%date [%level] [%thread] %logger{80} [%file : %line] %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%date [%level] [%thread] %logger{80} [%file : %line] %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${catalina.home}/logs/yzf/sql%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 保留 30天数据,默认无限-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
</appender>
<logger name="org.springframework" level="INFO" />
<logger name="org.apache" level="INFO" />
<logger name="com.itmuch" level="WARN" />
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
拓展
slf4j-api、slf4j-log4j12以及log4j之间什么关系?
几乎在每个jar包里都可以看到log4j的身影,在多个子工程构成项目中,slf4j相关的冲突时不时就跳出来让你不爽,那么slf4j-api、slf4j-log4j12还有log4j他们是什么关系?我把自己了解的和大家简单分享一下:
slf4j:Simple Logging Facade for Java,为java提供的简单日志Facade。Facade:门面,更底层一点说就是接口。他允许用户以自己的喜好,在工程中通过slf4j接入不同的日志系统。更直观一点,slf4j是个数据线,一端嵌入程序,另一端链接日志系统,从而实现将程序中的信息导入到日志系统并记录。
因此,slf4j入口就是众多接口的集合,他不负责具体的日志实现,只在编译时负责寻找合适的日志系统进行绑定。具体有哪些接口,全部都定义在slf4j-api中。查看slf4j-api源码就可以发现,里面除了public final class LoggerFactory类之外,都是接口定义。因此,slf4j-api本质就是一个接口定义。
下图比较清晰的描述了他们之间的关系:
当系统采用log4j作为日志框架实现的调用关系:
首先系统包含slf4j-api作为日志接入的接口;
at compile时slf4j-api中public final class LoggerFactor类中
private final static void bind() 方法会寻找具体的日志实现类绑定,主要通过
StaticLoggerBinder.getSingleton();语句调用
slf4j-log4j12:链接slf4j-api和log4j中间的适配器。它实现了slf4j-apiz中StaticLoggerBinder接口,从而使得在编译时绑定的是slf4j-log4j12的getSingleton()方法
log4j:这个是具体的日志系统。通过slf4j-log4j12初始化Log4j,达到最终日志的输出。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# logback替换log4j
# log4j
# 切换
# logback
# Java中 SLF4J和Logback和Log4j和Logging的区别与联系
# slf4j与jul、log4j1、log4j2、logback的集成原理
# jdk-logging log4j logback日志系统实现机制原理介绍
# jcl与jul log4j1 log4j2 logback日志系统机制及集成原理
# slf4j jcl jul log4j1 log4j2 logback各组件系统日志切换
# Logback与Log4j2日志框架性能对比与调优方式
# 项目为什么引入log4j而不是logback代码
# 浅谈spring boot 集成 log4j 解决与logback冲突的问题
# 从log4j切换到logback后项目无法启动的问题及解决方法
# 绑定
# 自己的
# 的是
# 都是
# 是个
# 如果你
# 让你
# 多个
# 很久
# 并在
# 他不
# 我把
# 花了
# 可以看到
# 考虑到
# 做个
# 只在
# 这篇文章
# 也许会
# 你也可以
相关文章:
C#如何在一个XML文件中查找并替换文本内容
建站之星安装后如何配置SEO及设计样式?
深入理解Android中的xmlns:tools属性
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何用西部建站助手快速创建专业网站?
广州建站公司哪家好?十大优质服务商推荐
高端云建站费用究竟需要多少预算?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
黑客如何利用漏洞与弱口令入侵网站服务器?
如何生成腾讯云建站专用兑换码?
python的本地网站制作,如何创建本地站点?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
如何快速搭建高效简练网站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
南平网站制作公司,2025年南平市事业单位报名时间?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
Python文件管理规范_工程实践说明【指导】
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
建站与域名管理如何高效结合?
如何解决ASP生成WAP建站中文乱码问题?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
创业网站制作流程,创业网站可靠吗?
招商网站制作流程,网站招商广告语?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
建站VPS选购需注意哪些关键参数?
如何用低价快速搭建高质量网站?
专业公司网站制作公司,用什么语言做企业网站比较好?
建站之星如何助力网站排名飙升?揭秘高效技巧
建站之星导航配置指南:自助建站与SEO优化全解析
广州美橙建站如何快速搭建多端合一网站?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
为什么Go需要go mod文件_Go go mod文件作用说明
教学网站制作软件,学习*后期制作的网站有哪些?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
实例解析Array和String方法
如何通过虚拟主机空间快速建站?
网站制作服务平台,有什么网站可以发布本地服务信息?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
公司网站制作价格怎么算,公司办个官网需要多少钱?
高防服务器如何保障网站安全无虞?
再谈Python中的字符串与字符编码(推荐)
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
黑客入侵网站服务器的常见手法有哪些?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
Python多线程使用规范_线程安全解析【教程】
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
*请认真填写需求信息,我们会在24小时内与您取得联系。