2013-08-23 33 views
2

JDK 6,SLF4J 1.7.5無法更改SLF4J的日誌級別simplelogger

佈局bleow:

. 
├── com 
│   └── to 
│    └── Main.class 
├── simplelogger.properties 
├── slf4j-api-1.7.5.jar 
└── slf4j-simple-1.7.5.jar 

Main.java下面:

package com.to; 

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

public class Main { 

    final static Logger logger = LoggerFactory.getLogger(Main.class); 

    public static void main(String[] args) { 
     logger.info("error {}", logger.isErrorEnabled()); 
     logger.info("info {}", logger.isInfoEnabled()); 
     logger.info("debug {}", logger.isDebugEnabled()); 
    } 

} 

simplelogger。屬性更改如下:

org.slf4j.simpleLogger.defaultLog=error 

運行測試,輸出顯示默認日誌級別完全沒有改變。

$ java -cp .:slf4j-api-1.7.5.jar:slf4j-simple-1.7.5.jar com.to.Main 

[main] INFO com.to.Main - error true 
[main] INFO com.to.Main - info true 
[main] INFO com.to.Main - debug false 

即使系統屬性更改如下發生同樣的問題,

Dorg.slf4j.simpleLogger.defaultLog=error 

@EDIT

根據reference,正確的屬性名應當org.slf4j .simpleLogger.defaultLog Level,我剛剛註釋掉了template中具有錯誤屬性名稱的行。

回答