public LogbackLoggingService(Timer taskTimer, String loggingConfigurationFile, long pollingFrequency) {
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
StatusManager statusManager = loggerContext.getStatusManager();
try{
Resource configResource = new FilesystemResource(loggingConfigurationFile);
LogbackConfigurationChangeListener configChangeListener = new LogbackConfigurationChangeListener();
configChangeListener.onResourceCreate(configResource);
ResourceChangeWatcher resourceWatcher = new ResourceChangeWatcher(configResource, pollingFrequency, 5);
resourceWatcher.getResourceListeners().add(configChangeListener);
taskTimer.schedule(resourceWatcher, 0, pollingFrequency);
}catch(ResourceException e){
statusManager.add(new ErrorStatus("Error loading logging configuration file: "
+ loggingConfigurationFile, this, e));
}
}
}