2017-08-16 38 views
0

有一个maven OSGI组件,其中我调用了一个关于OSGI框架的EclipseStarter.stop()语句。这行后面有几个日志语句。我使用了log4j2作为日志后端和前端JCL的pax-logging。在同一个文件中使用多种记录器类型的Java跳过日志语句

由于OSGI框架关闭,日志消息不会通过pax-logging-log4j2进行打印。因此,我正尝试使用java util logging来打印这些消息。 java文件中的记录器初始化操作如下。

private static final Log log = LogFactory.getLog(MyClass.class); 
private static final Logger logger = Logger.getLogger(MyClass.class.getName()); 

log.info("Before shutdown"); 

EclipseStarter.stop(); 

logger.log(Level.INFO, "After shutdown JUL");  
log.info("After shutdown JCL"); 

当我调试时,util日志语句似乎跳过。

+0

您确认是否有处理程序连接到'MyClass'记录器,MyClass'记录器或根记录器的父项? – jmehrens

+0

看起来不像。方法日志(记录)中的handlers.publish(记录)被跳过。 –

+0

附上一个处理程序。在停止调用之前添加JUL日志语句以帮助调试。 – jmehrens

回答

相关问题