温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中如何将log4j转换到logback

发布时间:2021-09-18 17:43:39 来源:亿速云 阅读:405 作者:柒染 栏目:编程语言

这篇文章将为大家详细讲解有关Java中如何将log4j转换到logback,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

谈到在Java应用程序里写日志,log4j过去是现在可能仍然是事实上的标准。

由Sun提供的JDK内的写日志的方案一直无法全面推广。造成这种情况的原因当然是其缺乏可配置性和灵活性。JDK的日志方案对于比较简单的项目来讲当然是一种解决办法,但对于企业级的应用来讲就不然了。

现在,除了log4j之外,另有一种新的比log4j更强大、更快和更灵活的实现已经上市了:logback。好吧,实际上logback是始于2006年的,但其版本1.0在2011年11月份才发布。

logback开发出来就是为了替代log4j的,它和log4j都是出自同一个开发者。版本1.0经过多年的测试和开发现已可供使用了(***版本是1.0.1)。为了避免由于其版本号这么小而造成误解,应该指出的是,logback已经在业界使用多年了,总之其版本号绝不是反映其稳定性和功能性方面的声明。

logback同log4j相比具有众多优势。下面列出一部分:

·更快的实现

·自动重新装载日志配置文件

·更好的过滤器(filter)

·自动压缩归档的日志文件

·堆栈跟踪里包括了Java包(jar文件)的信息

·自动删除旧日志归档文件

对于开发者来讲,从log4j转换到logback非常容易。只要在你的Maven POM中转换一个依赖就算准备好了:

<dependency>         <groupId>ch.qos.logback</groupId>         <artifactId>logback-classic</artifactId>         <version>1.0.0</version>      </dependency>

由于传递性依赖,日志facace,slf4j,也已经添加到你的project中了。

用slf4j做个“Hello World”例子,就象这样:

package demo;   import org.slf4j.Logger;   import org.slf4j.LoggerFactory;   public class HelloWorld {     public static void main(String[] args) {      Logger log = LoggerFactory.getLogger(HelloWorld.class);      log.info("Hello World");     }   }

所有其余需要做的就是写一个用来控制日志输出的配置文件。

配置文件在log4j里通常叫做log4j.xml,在logback里是logback.xml,或者,在测试环境里叫做logback-test.xml。

在Maven project里,logback.xml文件必须放在$PROJECT_HOME/src/main/resources目录中。logback-test.xml文件必须放在$PROJECT_HOME/src/test/resources目录中。简单的配置文件可以象这样来写:

<configuration>    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">     <!-- encoders are assigned the type        ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->     <encoder>      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>     </encoder>    </appender>    <root level="debug">     <appender-ref ref="STDOUT" />    </root>   </configuration>

logback完整的手册 非常详尽,可到这里来阅读。

关于Java中如何将log4j转换到logback就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI