java log4j从你的代码中再添加一个logger

时间:2015-03-24 13:10:54

标签: java logging log4j

我使用Log4j,我有以下问题:有没有办法从你的代码中再添加一个记录器? (不是root logger)。 在我的配置文件中,我设置了以下两个记录器:

log4j.rootCategory=INFO, ALogFile
log4j.logger.BLog=INFO,BLog

我想从配置文件中删除第二行并从代码中添加BLog。这可能吗?

1 个答案:

答案 0 :(得分:1)

等效代码应为:

Logger logger = Logger.getLogger("BLog");
logger.setLevel(Level.INFO);    
logger.addAppender(Logger.getRootLogger().getAppender("BLog")); // see notes below

即。为名称Logger获取BLog对象,然后将级别设置为INFO并附加您在​​配置文件中其他地方定义的可能的appender,称为{{1 }}

注意:根据this related question的答案,您可能需要将appender附加到记录器以便能够引用它,正如我的代码所做的那样。或者只是在代码中定义appender。