<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=SLF4J</id>
	<title>SLF4J - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=SLF4J"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=SLF4J&amp;action=history"/>
	<updated>2026-07-14T08:04:15Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=SLF4J&amp;diff=584709&amp;oldid=prev</id>
		<title>imported&gt;Mhss：​/* top */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=SLF4J&amp;diff=584709&amp;oldid=prev"/>
		<updated>2025-08-19T16:18:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;top&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Multiple issues|&lt;br /&gt;
{{expert|time=2009-09-30T14:21:44+00:00|subject=计算机科学}}{{Unreferenced|time=2024-02-23T11:28:57+00:00}}&lt;br /&gt;
{{expand|time=2009-09-30T14:21:44+00:00}}&lt;br /&gt;
}}&lt;br /&gt;
[[File:SLF4J Logo.jpg|thumb|SLF4J的标志]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;JAVA簡易日誌門面&amp;#039;&amp;#039;&amp;#039;（Simple Logging Facade for Java，縮寫SLF4J），是一套包裝[[Logging 框架]]的介面程式，以[[门面模式]]實现。可以在軟體部署的時候決定要使用的 Logging 框架，目前主要支援的有[[Java Logging API]]、[[log4j]]及[[logback]]等框架。以[[MIT 授權]]方式發佈。&lt;br /&gt;
&lt;br /&gt;
SLF4J 的作者就是 log4j 的作者 Ceki Gülcü，他宣稱 SLF4J 比 log4j 更有效率，而且比 [[Apache Commons Logging]] (JCL) 簡單、穩定。&lt;br /&gt;
&lt;br /&gt;
== 與 log4j 的比較 ==&lt;br /&gt;
* log4j 提供 TRACE, DEBUG, INFO, WARN, ERROR 及 FATAL 六種紀錄等級，但是 SLF4J 認為 ERROR 與 FATAL 並沒有實質上的差別，所以拿掉了 FATAL 等級，只剩下其他五種。&lt;br /&gt;
* 大部分人在程序里面会去写logger.error(exception),其实这个时候log4j会去把这个exception tostring。真正的写法应该是logger(message, exception);而slf4j就不会使得程序员犯这个错误。 &lt;br /&gt;
* log4j间接的在鼓励程序员使用string相加的写法，而slf4j就不会有这个问题  ,你可以使用logger.error(&amp;quot;{} is+serviceid&amp;quot;,serviceid); &lt;br /&gt;
* 使用slf4j可以方便的使用其提供的各种集体的实现的jar。（类似commons-logger） &lt;br /&gt;
* 从commons--logger和log4j merge非常方便，slf4j也提供了一个swing的tools来帮助大家完成这个merge。&lt;br /&gt;
* 提供字串內容替換的功能，會比較有效率，說明如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// 传统的字符串产生方式，如果没有要记录Debug等级的信息，就会浪费时间在产生不必要的信息上&lt;br /&gt;
logger.debug(&amp;quot;There are now &amp;quot; + count + &amp;quot; user accounts: &amp;quot; + userAccountList);&lt;br /&gt;
&lt;br /&gt;
// 为了避免上述问题，我们可以先检查是不是开启了Debug信息记录功能，只是程序的编码会比较复杂&lt;br /&gt;
if (logger.isDebugEnabled()) {&lt;br /&gt;
    logger.debug(&amp;quot;There are now &amp;quot; + count + &amp;quot; user accounts: &amp;quot; + userAccountList);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// 如果Debug等级没有开启，则不会产生不必要的字符串，同时也能保持程序编码的简洁&lt;br /&gt;
logger.debug(&amp;quot;There are now {} user accounts: {}&amp;quot;, count, userAccountList); &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* SLF4J 只支持 MDC，不支持 NDC。&lt;br /&gt;
&lt;br /&gt;
[[Category:Java]]&lt;br /&gt;
[[Category:用Java編程的自由軟體]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Mhss</name></author>
	</entry>
</feed>