配置文件的使用
1.观察源码BasicConfigurator.configure();
可以得到两条信息:
(1)创建了根节点的对象,Logger root = Logger.getRootLogger();
(2)根节点添加了ConsoleAppender对象(表示默认打印到控制台,自定义的格式化输出)
2.我们这一次,不使用BasicConfigurator.configure();
使用自定义的配置文件来实现功能
通过我们对于以上第一点的分析
我们的配置文件需要提供Logger、Appender、Layout这3个组件信息(通过配置来代替以上的代码)
分析:
Logger logger = Logger.getLogger(Log4jTest01.class);
进入到getLogger方法,会看到代码:
LogManager.getLogger(clazz.getName());
LogManager:日志管理器
点击LogManager,看看这个日志管理器中都实现了什么
看到很多常量信息,他们代表的就是不同形式(后缀名不同)的配置文件
我们最常使用到的肯定是log4j.properties属性文件(语法简单,使用方便)
public static Logger getLogger(Class clazz) {
return LogManager.getLogger(clazz.getName());
}
/** @deprecated */
public static final String DEFAULT_CONFIGURATION_FILE = "log4j.properties";
static final String DEFAULT_XML_CONFIGURATION_FILE = "log4j.xml";
/** @deprecated */
public static final String DEFAULT_CONFIGURATION_KEY = "log4j.configuration";
/** @deprecated */
public static final String CONFIGURATOR_CLASS_KEY = "log4j.configuratorClass";
/** @deprecated */
public static final String DEFAULT_INIT_OVERRIDE_KEY = "log4j.defaultInitOverride";