ServiceLoader<MessageLoggerFactory> loader = ServiceLoader.load( MessageLoggerFactory.class );
Iterator<MessageLoggerFactory> factories = loader.iterator();
if( factories != null && factories.hasNext() ) {
factory = loader.iterator().next();
} else {
factory = new JdkMessageLoggerFactory();
}
return factory;
}