public MapKeyLoader(String mapName, OperationService opService, IPartitionService ps, ClusterService clusterService, ExecutionService execService, IFunction<Object, Data> serialize) { this.mapName = mapName; this.opService = opService; this.partitionService = ps; this.clusterService = clusterService; this.toData = serialize; this.execService = execService; this.logger = getLogger(MapKeyLoader.class); }
private static LoggerFactory tryToObtainFactoryByPreferredType(String preferredType) { if (!StringUtil.isNullOrEmpty(preferredType)) { if (sharedFactoryIsCompatibleWith(preferredType)) { return loggerFactory; } final LoggerFactory createdFactory = createLoggerFactory(preferredType); if (loggerFactory == null) { loggerFactory = createdFactory; loggerFactoryClassOrType = preferredType; } return createdFactory; } return null; }
private static LoggerFactory tryToCreateLoggerFactory(String className) { try { return ClassLoaderUtil.newInstance(null, className); } catch (Exception e) { logError("Failed to create '" + className + "' logger factory:", e); return null; } }
/** * Creates a {@link LoggerFactory logger factory} instance of the given preferred type. * <p> * The type of the created logger factory doesn't necessarily match the given preferred type. For example, if * {@code hazelcast.logging.class} system property is set, the configured logger factory class will be used * despite the given preferred type. Also, if factory instance construction is failed for some reason, * {@link StandardLoggerFactory} instance will be returned instead. * * @param preferredType the preferred type of the logger factory to create. * @return the created logger factory. */ public static LoggerFactory newLoggerFactory(String preferredType) { // creation of a new logger factory is not a performance critical operation, so we can afford doing it under the lock // and perform many non-cached accesses to volatile loggerFactory field to simplify the code synchronized (FACTORY_LOCK) { LoggerFactory obtainedFactory; obtainedFactory = tryToObtainFactoryByConfiguredClass(); if (obtainedFactory != null) { return obtainedFactory; } obtainedFactory = tryToObtainFactoryByPreferredType(preferredType); if (obtainedFactory != null) { return obtainedFactory; } assert StringUtil.isNullOrEmpty(preferredType); obtainedFactory = obtainFactoryByRecoveringFromNullOrEmptyPreferredType(); return obtainedFactory; } }
private static LoggerFactory tryToObtainFactoryByConfiguredClass() { final String loggingClass = System.getProperty("hazelcast.logging.class"); if (!StringUtil.isNullOrEmpty(loggingClass)) { if (sharedFactoryIsCompatibleWith(loggingClass)) { return loggerFactory; } final LoggerFactory createdFactory = tryToCreateLoggerFactory(loggingClass); if (createdFactory != null) { if (loggerFactory == null) { loggerFactory = createdFactory; loggerFactoryClassOrType = loggingClass; } return createdFactory; } } return null; }
private static LoggerFactory createLoggerFactory(String preferredType) { LoggerFactory createdFactory; if ("log4j".equals(preferredType)) { createdFactory = tryToCreateLoggerFactory("com.hazelcast.logging.Log4jFactory"); } else if ("log4j2".equals(preferredType)) { createdFactory = tryToCreateLoggerFactory("com.hazelcast.logging.Log4j2Factory"); } else if ("slf4j".equals(preferredType)) { createdFactory = tryToCreateLoggerFactory("com.hazelcast.logging.Slf4jFactory"); } else if ("jdk".equals(preferredType)) { createdFactory = new StandardLoggerFactory(); } else if ("none".equals(preferredType)) { createdFactory = new NoLogFactory(); } else { if (!StringUtil.isNullOrEmpty(preferredType)) { logError("Unexpected logging type '" + preferredType + "', falling back to JDK logging.", null); } createdFactory = new StandardLoggerFactory(); } if (createdFactory == null) { logError("Falling back to JDK logging.", null); createdFactory = new StandardLoggerFactory(); } return createdFactory; }
createdFactory = tryToCreateLoggerFactory(loggingClass); } else { final String loggingType = System.getProperty("hazelcast.logging.type"); createdFactory = createLoggerFactory(loggingType);
public ClientLoggingService(String groupName, String loggingType, BuildInfo buildInfo, String clientName) { this.loggerFactory = Logger.newLoggerFactory(loggingType); JetBuildInfo jetBuildInfo = buildInfo.getJetBuildInfo(); this.versionMessage = clientName + " [" + groupName + "]" + (jetBuildInfo != null ? " [" + jetBuildInfo.getVersion() + "]" : "") + " [" + buildInfo.getVersion() + "] "; }
private static LoggerFactory obtainFactoryByRecoveringFromNullOrEmptyPreferredType() { if (loggerFactory != null) { return loggerFactory; } final String loggingType = System.getProperty("hazelcast.logging.type"); if (!StringUtil.isNullOrEmpty(loggingType)) { final LoggerFactory createdFactory = createLoggerFactory(loggingType); loggerFactory = createdFactory; loggerFactoryClassOrType = loggingType; return createdFactory; } final LoggerFactory createdFactory = new StandardLoggerFactory(); loggerFactory = createdFactory; loggerFactoryClassOrType = "jdk"; return createdFactory; }
/** * Creates a {@link LoggerFactory logger factory} instance of the given preferred type. * <p> * The type of the created logger factory doesn't necessarily match the given preferred type. For example, if * {@code hazelcast.logging.class} system property is set, the configured logger factory class will be used * despite the given preferred type. Also, if factory instance construction is failed for some reason, * {@link StandardLoggerFactory} instance will be returned instead. * * @param preferredType the preferred type of the logger factory to create. * @return the created logger factory. */ public static LoggerFactory newLoggerFactory(String preferredType) { // creation of a new logger factory is not a performance critical operation, so we can afford doing it under the lock // and perform many non-cached accesses to volatile loggerFactory field to simplify the code synchronized (FACTORY_LOCK) { LoggerFactory obtainedFactory; obtainedFactory = tryToObtainFactoryByConfiguredClass(); if (obtainedFactory != null) { return obtainedFactory; } obtainedFactory = tryToObtainFactoryByPreferredType(preferredType); if (obtainedFactory != null) { return obtainedFactory; } assert StringUtil.isNullOrEmpty(preferredType); obtainedFactory = obtainFactoryByRecoveringFromNullOrEmptyPreferredType(); return obtainedFactory; } }
private static LoggerFactory tryToObtainFactoryByConfiguredClass() { final String loggingClass = System.getProperty("hazelcast.logging.class"); if (!StringUtil.isNullOrEmpty(loggingClass)) { if (sharedFactoryIsCompatibleWith(loggingClass)) { return loggerFactory; } final LoggerFactory createdFactory = tryToCreateLoggerFactory(loggingClass); if (createdFactory != null) { if (loggerFactory == null) { loggerFactory = createdFactory; loggerFactoryClassOrType = loggingClass; } return createdFactory; } } return null; }
private static LoggerFactory createLoggerFactory(String preferredType) { LoggerFactory createdFactory; if ("log4j".equals(preferredType)) { createdFactory = tryToCreateLoggerFactory("com.hazelcast.logging.Log4jFactory"); } else if ("log4j2".equals(preferredType)) { createdFactory = tryToCreateLoggerFactory("com.hazelcast.logging.Log4j2Factory"); } else if ("slf4j".equals(preferredType)) { createdFactory = tryToCreateLoggerFactory("com.hazelcast.logging.Slf4jFactory"); } else if ("jdk".equals(preferredType)) { createdFactory = new StandardLoggerFactory(); } else if ("none".equals(preferredType)) { createdFactory = new NoLogFactory(); } else { if (!StringUtil.isNullOrEmpty(preferredType)) { logError("Unexpected logging type '" + preferredType + "', falling back to JDK logging.", null); } createdFactory = new StandardLoggerFactory(); } if (createdFactory == null) { logError("Falling back to JDK logging.", null); createdFactory = new StandardLoggerFactory(); } return createdFactory; }
createdFactory = tryToCreateLoggerFactory(loggingClass); } else { final String loggingType = System.getProperty("hazelcast.logging.type"); createdFactory = createLoggerFactory(loggingType);
public LoggingServiceImpl(String groupName, String loggingType, BuildInfo buildInfo) { this.loggerFactory = Logger.newLoggerFactory(loggingType); JetBuildInfo jetBuildInfo = buildInfo.getJetBuildInfo(); versionMessage = "[" + groupName + "] [" + (jetBuildInfo != null ? jetBuildInfo.getVersion() : buildInfo.getVersion()) + "] "; }
private static LoggerFactory obtainFactoryByRecoveringFromNullOrEmptyPreferredType() { if (loggerFactory != null) { return loggerFactory; } final String loggingType = System.getProperty("hazelcast.logging.type"); if (!StringUtil.isNullOrEmpty(loggingType)) { final LoggerFactory createdFactory = createLoggerFactory(loggingType); loggerFactory = createdFactory; loggerFactoryClassOrType = loggingType; return createdFactory; } final LoggerFactory createdFactory = new StandardLoggerFactory(); loggerFactory = createdFactory; loggerFactoryClassOrType = "jdk"; return createdFactory; }
public CompletableFutureTask(Callable<V> callable, ExecutorService asyncExecutor) { super(asyncExecutor, Logger.getLogger(CompletableFutureTask.class)); this.callable = callable; }
private static LoggerFactory tryToObtainFactoryByPreferredType(String preferredType) { if (!StringUtil.isNullOrEmpty(preferredType)) { if (sharedFactoryIsCompatibleWith(preferredType)) { return loggerFactory; } final LoggerFactory createdFactory = createLoggerFactory(preferredType); if (loggerFactory == null) { loggerFactory = createdFactory; loggerFactoryClassOrType = preferredType; } return createdFactory; } return null; }
public ClientLoggingService(String groupName, String loggingType, BuildInfo buildInfo, String clientName) { this.loggerFactory = Logger.newLoggerFactory(loggingType); JetBuildInfo jetBuildInfo = buildInfo.getJetBuildInfo(); this.versionMessage = clientName + " [" + groupName + "]" + (jetBuildInfo != null ? " [" + jetBuildInfo.getVersion() + "]" : "") + " [" + buildInfo.getVersion() + "] "; }
private static LoggerFactory tryToCreateLoggerFactory(String className) { try { return ClassLoaderUtil.newInstance(null, className); } catch (Exception e) { logError("Failed to create '" + className + "' logger factory:", e); return null; } }
public MapKeyLoader(String mapName, OperationService opService, IPartitionService ps, ClusterService clusterService, ExecutionService execService, IFunction<Object, Data> serialize) { this.mapName = mapName; this.opService = opService; this.partitionService = ps; this.clusterService = clusterService; this.toData = serialize; this.execService = execService; this.logger = getLogger(MapKeyLoader.class); }