/** * Get logger instance for the given endpoint. * * @param endpoint Endpoint. * @param dir Path. * @param batchSize Batch size. * * @return Logger instance. */ public static GridGgfsLogger logger(String endpoint, String ggfsName, String dir, int batchSize) { if (endpoint == null) endpoint = ""; logLock.readLock().lock(); try { GridGgfsLogger log = loggers.get(endpoint); if (log == null) { log = new GridGgfsLogger(endpoint, ggfsName, dir, batchSize); GridGgfsLogger log0 = loggers.putIfAbsent(endpoint, log); if (log0 != null) log = log0; } log.useCnt.incrementAndGet(); return log; } finally { logLock.readLock().unlock(); } }