我的问题是,每当加载属性文件(如my previous question中所述)时,我们都会使用项目名称(除了根记录器之外)使用各自的appenders
创建记录器。
创建完所有记录器后,我们将在项目的每个类中调用以下代码片段,其中包含类名称。
例如,在项目com.Drill.Services.Hip
中存在的Sample类的logger下创建。
private final Logger logger = Logger.getLogger(LoggingTesterHip.class);
我开始怀疑,logger
已经按照配置文件创建了名称为com.Drill.Services.Hip
,并且可以在同一项目中使用,但是当我们调用Logger.getLogger(LoggingTesterHip.class)
时,它是否返回使用项目名称(com.Drill.Services.Hip
)在属性文件中创建的同一记录器?
因为我正在检查log4j代码,它似乎没有返回相同的记录器,而是创建了一个新的记录器。最后,记录器正在写入在记录器appenders
的配置文件中的com.Drill.Services.Hip
中设置的同一文件。
这是怎么回事?