slf4j登录到特定包

时间:2016-08-24 06:35:52

标签: log4j slf4j

日志的输出应来自特定包。

现在在log4j.properties中,添加了以下属性: log4j.logger.com.pack1 = DEBUG,stdout

PFB代码(com.pack1.logging包中的test.java类):

package com.pack1.logging;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class test {

private static Logger myLogger = LoggerFactory.getLogger("xyz");

static {
    myLogger.debug("test-my");
    LoggerFactory.getLogger(test.class).debug("with class");

}

}

使用上面的代码后,

预期的o / p: 测试我的 与班级

实际o / p: 与班级

我想知道那个特定包的输出" com.pack1"。 有人可以帮我吗?在此先感谢:)

1 个答案:

答案 0 :(得分:0)

除非您在log4j.properties中对其进行了不同的配置,否则您将从中获取记录器

LoggerFactory.getLogger("xyz")

可能是根记录器,可能设置为INFO级别的记录,这就是为什么你没有看到" test-my"在日志输出中。

另一方面,由于您的test类位于com.pack1包中,因此您获取的记录器

LoggerFactory.getLogger(test.class)

是您使用

行配置的那个
log4j.logger.com.pack1=DEBUG, stdout
你的log4j.properties文件中的

,这就是你的调试" with class"消息出现。