不同包

时间:2016-12-27 12:48:10

标签: java logging log4j

我是log4j的新手。当我在互联网上阅读时,子记录器继承父记录器设置。通常给出的示例是针对同一包中的两个类。但是,如果课程将在不同的包中呢?例如

import com.foo.Bar;

public class MyApp{
   static Logger logger = Logger.getLogger(MyApp.class);

   public static void main(String[] args) {
      BasicConfigurator.configure(); // default logging level is debug
      Bar bar = new Bar();
      bar.doIt();
   }
}

和不同包中的第二个类

package mypackage;
import org.apache.log4j.Logger;

public class Bar {
   static Logger logger = Logger.getLogger(Bar.class);

public void doIt() {
     logger.debug("Did it again!");
   }
 }

那么班级Bar中的记录器级别是多少?

1 个答案:

答案 0 :(得分:0)

MyApp是默认包。请注意,建议不要使用此question中已回答的默认包。

我认为无法为默认包定义自定义<logger>,因此必须<root>应用。

除非您为<logger>定义自定义mypackage.Bar,否则<root>也适用于该类。

除了<root>统治它们之外,MyAppBar在日志配置方面无关。