2011-11-01 79 views
0

請看看這個例子:如何禁用slf4j中記錄的方法調用?

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

public class Test { 
    public static void main(String[] args) { 
     Logger log = LoggerFactory.getLogger(Test.class); 
     log.info("Hello World"); 
    } 
} 

程序產生下面的輸出:

2011-11-01 13:06:05 Test main 
INFO: Hello World 

如何擺脫第一線的?如何設置記錄器不顯示方法調用?

slf4j在我的應用程序中使用jdk14。另外,我有兩個處理程序,所以如果有辦法禁用只爲一個處理程序記錄的方法調用,那將會很不錯。

+0

配置日誌格式。 –

回答

0

這兩條線都是通過調用log.info生成的。看來記錄器實現的默認格式會生成換行符。絕不「方法輸入」本身產生任何輸出。

要清楚:

2011-11-01 13:06:05 Test main 
INFO: Hello World1 
2011-11-01 13:06:05 Test main 
INFO: Hello World2 

哦,一般的方法來設置的Java的Util-記錄你的JDK:如果您在

log.info("Hello World1"); 
log.info("Hello World2"); 

我希望這個日誌輸出兩次這裏描述:

http://download.oracle.com/javase/1.4.2/docs/guide/util/logging/overview.html

你將不得不看的出來, 「格式化程序」部分並實現您自己的格式程序(AFAIK)。或者簡單地在slf4j之後使用可用的日誌實現,比如logback或log4j。

+0

我實現了我自己的格式化程序,感謝您的建議。無論如何,你建議從jdk切換到logback或log4j嗎? –

+1

@Radek那麼沒有代碼庫的日誌實現的價值是什麼,與其他框架沒有兼容性,只包含兩個輸出格式化器,它們甚至不允許指定通用輸出格式,不提供接口分離和而且配置和初始化非常難看。我認爲你會得到漂移。 –