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
中注释掉了具有错误属性名称的行。