2

jdk 6,slf4j 1.7.5

布局自爆:

.
├── 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

@编辑

根据参考资料,正确的属性名称应该是 org.slf4j.simpleLogger.defaultLog ,我刚刚从模板Level中注释掉了具有错误属性名称的行。

4

1 回答 1

5

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

来源:
http ://www.slf4j.org/api/index.html?org/slf4j/impl/简单记录器.html

于 2013-08-23T11:08:37.673 回答