【发布时间】:2016-11-21 08:44:59
【问题描述】:
我正在尝试将日志从两个类(在包 com.project.callcontrol 中)重定向到同一个文件。 这就是我在两个类中启动记录器的方式 私有静态最终 Logger logger =
private static Logger log = Logger.getLogger(CCPurgeEvent.class.getName());
private static Logger log = Logger.getLogger(PurgeDeadCalls.class.getName());
这就是我试图为两个类共享同一个文件的方式,java.util.logging 配置
com.project.callcontrol.PurgeDeadCalls.useParentHandlers = false
com.project.callcontrol.PurgeDeadCalls.handlers = com.project.logging.CcPurgeLogger
com.project.callcontrol.CCPurgeEvent.useParentHandlers = false
com.project.callcontrol.CCPurgeEvent.handlers = com.project.logging.CcPurgeLogger
com.project.logging.CcPurgeLogger.pattern=/var/log/voxcallcontrol-batches/cc_purge%u.log
com.project.logging.CcPurgeLogger.formatter = java.util.logging.SimpleFormatter
com.project.logging.CcPurgeLogger.level = FINEST
com.project.logging.CcPurgeLogger.limit=100000000
com.project.logging.CcPurgeLogger.count=10
请注意,CCPurgeLogger 什么都不做,只是创建父类 FileHandler 的方法(甚至不知道为什么会在那里) 我的问题是我无法从日志文件中的两个类中获取日志,我只能从一个类中获取日志,具体取决于配置文件中的配置顺序。 例如,如果我将 CCPurgeEvent 配置移到 PurgeDeadCalls 配置之上,它适用于 CCPurgeEvent 而不是 PurgeDeadCalls,当我切换顺序时会发生相反的情况。 我似乎无法理解我错过了什么,任何指向这个方向的指针都会非常有帮助。
P.S:我不能改变我的日志框架,我知道log4j和其他框架提供了更多的选择,但是在目前的工作范围内,我只需要使用java.util.logging。
【问题讨论】: