无法更改slf4j simplelogger的日志级别

时间:2013-08-23 10:44:12

标签: logging slf4j

jdk 6,slf4j 1.7.5

布局ble:

.
├── 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.properties在下面更改:

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中具有错误属性名称的行

1 个答案:

答案 0 :(得分:5)

可能是,属性名称错误:
org.slf4j.simpleLogger.defaultLog => org.slf4j.simpleLogger.defaultLogLevel

来源:
http://www.slf4j.org/api/index.html?org/slf4j/impl/SimpleLogger.html