this.listener.logged(entry);
}
}
-
+
/*
* Install the default exception handler so that the uncaught
* exceptions are handled by our customized handler. This new
*/
Thread.setDefaultUncaughtExceptionHandler(new org.opendaylight.
controller.logging.bridge.internal.UncaughtExceptionHandler());
-
+
/*
* Install the Shutdown handler. This will intercept SIGTERM signal and
* close the system bundle. This allows for a graceful closing of OSGI
* framework.
*/
-
+
Runtime.getRuntime().addShutdownHook(new shutdownHandler(context));
} else {
this.log.error("Cannot register the LogListener because "
this.listener = null;
this.log = null;
}
-
+
private class shutdownHandler extends Thread {
BundleContext bundlecontext;
public shutdownHandler(BundleContext ctxt) {
this.bundlecontext = ctxt;
}
-
+
+ @Override
public void run () {
try {
this.bundlecontext.getBundle(0).stop();
log.debug("shutdown handler thread called");
} catch (BundleException e) {
log.debug("Bundle couldn't be stopped");
+ } catch (Exception e) {
+ log.debug("Unhandled exception");
}
- }
+ }
}
}