You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2014/12/05 00:24:00 UTC

[08/53] [abbrv] incubator-ignite git commit: # gg-9470-rename

# gg-9470-rename


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ba7a05db
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ba7a05db
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ba7a05db

Branch: refs/heads/master
Commit: ba7a05dbf134a1eb25ca3cf0244c9374e0e82df9
Parents: 167133f
Author: sboikov <sb...@gridgain.com>
Authored: Thu Dec 4 21:42:49 2014 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Thu Dec 4 21:42:49 2014 +0300

----------------------------------------------------------------------
 config/java.util.logging.properties             |   4 +-
 config/router/default-router.xml                |   2 +-
 .../processors/rest/GridTestBinaryClient.java   |   2 +-
 .../processors/rest/GridTestMemcacheClient.java |   2 +-
 .../ignite/logger/GridLoggerNodeIdAware.java    |  31 --
 .../apache/ignite/logger/GridNullLogger.java    |  83 ----
 .../ignite/logger/IgniteLoggerNodeIdAware.java  |  31 ++
 .../apache/ignite/logger/IgniteNullLogger.java  |  83 ++++
 .../ignite/logger/java/GridJavaLogger.java      | 382 -------------------
 .../logger/java/GridJavaLoggerFileHandler.java  | 182 ---------
 .../logger/java/GridJavaLoggerFormatter.java    |  71 ----
 .../ignite/logger/java/IgniteJavaLogger.java    | 382 +++++++++++++++++++
 .../java/IgniteJavaLoggerFileHandler.java       | 182 +++++++++
 .../logger/java/IgniteJavaLoggerFormatter.java  |  71 ++++
 .../GridClientConnectionManagerAdapter.java     |   2 +-
 .../client/router/impl/GridTcpRouterImpl.java   |   2 +-
 .../gridgain/grid/GridBasicWarmupClosure.java   |   2 +-
 .../org/gridgain/grid/kernal/GridGainEx.java    |   6 +-
 .../grid/kernal/GridLifecycleAwareSelfTest.java |   2 +-
 .../grid/logger/java/GridJavaLoggerTest.java    |   6 +-
 .../marshaller/GridMarshallerResourceBean.java  |   2 +-
 ...artupWithSpecifiedWorkDirectorySelfTest.java |   4 +-
 ...tartupWithUndefinedGridGainHomeSelfTest.java |   2 +-
 .../shmem/GridGgfsSharedMemoryTestClient.java   |   2 +-
 .../shmem/GridIpcSharedMemoryFakeClient.java    |   6 +-
 .../GridIpcSharedMemoryBenchmarkWriter.java     |   2 +-
 .../logger/GridLog4jRollingFileAppender.java    |   2 +-
 .../junits/logger/GridTestLog4jLogger.java      |   6 +-
 .../grid/logger/log4j/GridLog4jLogger.java      |   2 +-
 29 files changed, 778 insertions(+), 778 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/config/java.util.logging.properties
----------------------------------------------------------------------
diff --git a/config/java.util.logging.properties b/config/java.util.logging.properties
index d3cf472..aa28135 100644
--- a/config/java.util.logging.properties
+++ b/config/java.util.logging.properties
@@ -54,14 +54,14 @@ handlers=java.util.logging.ConsoleHandler, org.gridgain.grid.logger.java.GridJav
 # Console handler logs all messages with importance level `INFO` and above
 # into standard error stream (`System.err`).
 #
-java.util.logging.ConsoleHandler.formatter=org.apache.ignite.logger.java.GridJavaLoggerFormatter
+java.util.logging.ConsoleHandler.formatter=org.apache.ignite.logger.java.IgniteJavaLoggerFormatter
 java.util.logging.ConsoleHandler.level=INFO
 
 #
 # File handler logs all messages into files with pattern `gridgain-%{id8}.%g.log`
 # under `$GRIDGAIN_HOME/work/log/` directory. The placeholder `%{id8}` is a truncated node ID.
 #
-org.gridgain.grid.logger.java.GridJavaLoggerFileHandler.formatter=org.apache.ignite.logger.java.GridJavaLoggerFormatter
+org.gridgain.grid.logger.java.GridJavaLoggerFileHandler.formatter=org.apache.ignite.logger.java.IgniteJavaLoggerFormatter
 org.gridgain.grid.logger.java.GridJavaLoggerFileHandler.pattern=gridgain-%{id8}.%g.log
 org.gridgain.grid.logger.java.GridJavaLoggerFileHandler.level=INFO
 org.gridgain.grid.logger.java.GridJavaLoggerFileHandler.limit=10485760

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/config/router/default-router.xml
----------------------------------------------------------------------
diff --git a/config/router/default-router.xml b/config/router/default-router.xml
index d4fd036..735d347 100644
--- a/config/router/default-router.xml
+++ b/config/router/default-router.xml
@@ -41,5 +41,5 @@
     <!--
         Logger with the same configuration as in default grid instances.
     -->
-    <bean id="router.log" class="org.apache.ignite.logger.java.GridJavaLogger"/>
+    <bean id="router.log" class="org.apache.ignite.logger.java.IgniteJavaLogger"/>
 </beans>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestBinaryClient.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestBinaryClient.java b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestBinaryClient.java
index 5397115..d2adfc0 100644
--- a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestBinaryClient.java
+++ b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestBinaryClient.java
@@ -34,7 +34,7 @@ import static org.gridgain.grid.kernal.processors.rest.client.message.GridClient
  */
 final class GridTestBinaryClient {
     /** Logger. */
-    private final IgniteLogger log = new GridJavaLogger();
+    private final IgniteLogger log = new IgniteJavaLogger();
 
     /** Marshaller. */
     private final GridClientMarshaller marsh = new GridClientOptimizedMarshaller();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestMemcacheClient.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestMemcacheClient.java b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestMemcacheClient.java
index 23656b9..4f7ac77 100644
--- a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestMemcacheClient.java
+++ b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTestMemcacheClient.java
@@ -58,7 +58,7 @@ final class GridTestMemcacheClient {
     private static final short BYTE_ARR_FLAG = (8 << 8);
 
     /** Logger. */
-    private final IgniteLogger log = new GridJavaLogger();
+    private final IgniteLogger log = new IgniteJavaLogger();
 
     /** JDK marshaller. */
     private final GridMarshaller jdkMarshaller = new GridJdkMarshaller();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/GridLoggerNodeIdAware.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/GridLoggerNodeIdAware.java b/modules/core/src/main/java/org/apache/ignite/logger/GridLoggerNodeIdAware.java
deleted file mode 100644
index 7ddcd64..0000000
--- a/modules/core/src/main/java/org/apache/ignite/logger/GridLoggerNodeIdAware.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.logger;
-
-import java.util.*;
-
-/**
- * Interface for GridGain file appenders to attach node ID to log file names.
- */
-public interface GridLoggerNodeIdAware {
-    /**
-     * Sets node ID.
-     *
-     * @param nodeId Node ID.
-     */
-    public void setNodeId(UUID nodeId);
-
-    /**
-     * Gets node ID.
-     *
-     * @return Node ID.
-     */
-    public UUID getNodeId();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/GridNullLogger.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/GridNullLogger.java b/modules/core/src/main/java/org/apache/ignite/logger/GridNullLogger.java
deleted file mode 100644
index dfb7e31..0000000
--- a/modules/core/src/main/java/org/apache/ignite/logger/GridNullLogger.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.logger;
-
-import org.apache.ignite.*;
-import org.jetbrains.annotations.*;
-
-/**
- * Logger which does not output anything.
- */
-public class GridNullLogger implements IgniteLogger {
-    /** {@inheritDoc} */
-    @Override public IgniteLogger getLogger(Object ctgr) {
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void trace(String msg) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public void debug(String msg) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public void info(String msg) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public void warning(String msg) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public void warning(String msg, @Nullable Throwable e) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public void error(String msg) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public void error(String msg, @Nullable Throwable e) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isTraceEnabled() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isDebugEnabled() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isInfoEnabled() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isQuiet() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public String fileName() {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/IgniteLoggerNodeIdAware.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/IgniteLoggerNodeIdAware.java b/modules/core/src/main/java/org/apache/ignite/logger/IgniteLoggerNodeIdAware.java
new file mode 100644
index 0000000..146ed05
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/logger/IgniteLoggerNodeIdAware.java
@@ -0,0 +1,31 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.logger;
+
+import java.util.*;
+
+/**
+ * Interface for GridGain file appenders to attach node ID to log file names.
+ */
+public interface IgniteLoggerNodeIdAware {
+    /**
+     * Sets node ID.
+     *
+     * @param nodeId Node ID.
+     */
+    public void setNodeId(UUID nodeId);
+
+    /**
+     * Gets node ID.
+     *
+     * @return Node ID.
+     */
+    public UUID getNodeId();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/IgniteNullLogger.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/IgniteNullLogger.java b/modules/core/src/main/java/org/apache/ignite/logger/IgniteNullLogger.java
new file mode 100644
index 0000000..ad337da
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/logger/IgniteNullLogger.java
@@ -0,0 +1,83 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.logger;
+
+import org.apache.ignite.*;
+import org.jetbrains.annotations.*;
+
+/**
+ * Logger which does not output anything.
+ */
+public class IgniteNullLogger implements IgniteLogger {
+    /** {@inheritDoc} */
+    @Override public IgniteLogger getLogger(Object ctgr) {
+        return this;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void trace(String msg) {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override public void debug(String msg) {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override public void info(String msg) {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override public void warning(String msg) {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override public void warning(String msg, @Nullable Throwable e) {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override public void error(String msg) {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override public void error(String msg, @Nullable Throwable e) {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isTraceEnabled() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isDebugEnabled() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isInfoEnabled() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isQuiet() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Nullable @Override public String fileName() {
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLogger.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLogger.java b/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLogger.java
deleted file mode 100644
index d2c8ff4..0000000
--- a/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLogger.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.logger.java;
-
-import org.apache.ignite.*;
-import org.apache.ignite.logger.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.lang.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import java.util.logging.*;
-
-import static java.util.logging.Level.*;
-import static org.gridgain.grid.GridSystemProperties.*;
-
-/**
- * Logger to use with Java logging. Implementation simply delegates to Java Logging.
- * <p>
- * Here is an example of configuring Java logger in GridGain configuration Spring
- * file to work over log4j implementation. Note that we use the same configuration file
- * as we provide by default:
- * <pre name="code" class="xml">
- *      ...
- *      &lt;property name="gridLogger"&gt;
- *          &lt;bean class="org.gridgain.grid.logger.java.GridJavaLogger"&gt;
- *              &lt;constructor-arg type="java.util.logging.Logger"&gt;
- *                  &lt;bean class="java.util.logging.Logger"&gt;
- *                      &lt;constructor-arg type="java.lang.String" value="global"/&gt;
- *                  &lt;/bean&gt;
- *              &lt;/constructor-arg&gt;
- *          &lt;/bean&gt;
- *      &lt;/property&gt;
- *      ...
- * </pre>
- * or
- * <pre name="code" class="xml">
- *      ...
- *      &lt;property name="gridLogger"&gt;
- *          &lt;bean class="org.gridgain.grid.logger.java.GridJavaLogger"/&gt;
- *      &lt;/property&gt;
- *      ...
- * </pre>
- * And the same configuration if you'd like to configure GridGain in your code:
- * <pre name="code" class="java">
- *      GridConfiguration cfg = new GridConfiguration();
- *      ...
- *      GridLogger log = new GridJavaLogger(Logger.global);
- *      ...
- *      cfg.setGridLogger(log);
- * </pre>
- * or which is actually the same:
- * <pre name="code" class="java">
- *      GridConfiguration cfg = new GridConfiguration();
- *      ...
- *      GridLogger log = new GridJavaLogger();
- *      ...
- *      cfg.setGridLogger(log);
- * </pre>
- * Please take a look at <a target=_new href="http://java.sun.com/j2se/1.4.2/docs/api20/java/util/logging/Logger.html">Logger javadoc</a>
- * for additional information.
- * <p>
- * It's recommended to use GridGain logger injection instead of using/instantiating
- * logger in your task/job code. See {@link org.apache.ignite.resources.IgniteLoggerResource} annotation about logger
- * injection.
- */
-public class GridJavaLogger extends GridMetadataAwareAdapter implements IgniteLogger, GridLoggerNodeIdAware {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** */
-    public static final String DFLT_CONFIG_PATH = "config/java.util.logging.properties";
-
-    /** */
-    private static final Object mux = new Object();
-
-    /** */
-    private static volatile boolean inited;
-
-    /** */
-    private static volatile boolean quiet0;
-
-    /** Java Logging implementation proxy. */
-    @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")
-    private Logger impl;
-
-    /** Quiet flag. */
-    private final boolean quiet;
-
-    /** Node ID. */
-    private volatile UUID nodeId;
-
-    /**
-     * Creates new logger.
-     */
-    public GridJavaLogger() {
-        this(!isConfigured());
-    }
-
-    /**
-     * Checks if logger is already configured within this VM or not.
-     *
-     * @return {@code True} if logger was already configured, {@code false} otherwise.
-     */
-    public static boolean isConfigured() {
-        return System.getProperty("java.util.logging.config.file") != null;
-    }
-
-    /**
-     * Reads default JUL configuration.
-     */
-    private void defaultConfiguration() {
-        final URL cfgUrl = U.resolveGridGainUrl(DFLT_CONFIG_PATH);
-
-        if (cfgUrl == null) {
-            error("Failed to resolve default logging config file: " + DFLT_CONFIG_PATH);
-
-            return;
-        }
-
-        try (InputStream in = cfgUrl.openStream()) {
-            LogManager.getLogManager().readConfiguration(in);
-        }
-        catch (IOException e) {
-            error("Failed to read logging configuration: " + cfgUrl, e);
-        }
-    }
-
-    /**
-     * Creates new logger.
-     *
-     * @param init If {@code true}, then a default console appender will be created.
-     *      If {@code false}, then no implicit initialization will take place,
-     *      and java logger should be configured prior to calling this constructor.
-     */
-    public GridJavaLogger(boolean init) {
-        impl = Logger.getLogger("");
-
-        if (init) {
-            // Implementation has already been inited, passing NULL.
-            configure(null);
-
-            quiet = quiet0;
-        }
-        else
-            quiet = true;
-    }
-
-    /**
-     * Creates new logger with given implementation.
-     *
-     * @param impl Java Logging implementation to use.
-     */
-    public GridJavaLogger(final Logger impl) {
-        assert impl != null;
-
-        configure(impl);
-
-        quiet = quiet0;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteLogger getLogger(Object ctgr) {
-        return new GridJavaLogger(ctgr == null ? Logger.getLogger("") : Logger.getLogger(
-            ctgr instanceof Class ? ((Class)ctgr).getName() : String.valueOf(ctgr)));
-    }
-
-    /**
-     * Configures handlers when needed.
-     *
-     * @param initImpl Optional log implementation.
-     */
-    private void configure(@Nullable Logger initImpl) {
-        if (initImpl != null)
-            impl = initImpl;
-
-        if (inited)
-            return;
-
-        synchronized (mux) {
-            if (inited)
-                return;
-
-            if (isConfigured()) {
-                boolean consoleHndFound = findHandler(impl, ConsoleHandler.class) != null;
-
-                // User configured console appender, thus log is not quiet.
-                quiet0 = !consoleHndFound;
-                inited = true;
-
-                return;
-            }
-
-            defaultConfiguration();
-
-            boolean quiet = Boolean.valueOf(System.getProperty(GG_QUIET, "true"));
-            boolean useConsoleAppender = Boolean.valueOf(System.getProperty(GG_CONSOLE_APPENDER, "true"));
-
-            if (useConsoleAppender) {
-                ConsoleHandler consoleHnd = findHandler(impl, ConsoleHandler.class);
-
-                if (consoleHnd != null)
-                    consoleHnd.setLevel(quiet ? SEVERE : INFO);
-                else
-                    System.err.println("Console logging handler is not configured.");
-            }
-            else {
-                Handler[] handlers = Logger.getLogger("").getHandlers();
-
-                if  (!F.isEmpty(handlers)) {
-                    for (Handler h : handlers) {
-                        if (h instanceof ConsoleHandler)
-                            impl.removeHandler(h);
-                    }
-                }
-            }
-
-            quiet0 = quiet;
-            inited = true;
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void trace(String msg) {
-        if (!impl.isLoggable(FINEST))
-            warning("Logging at TRACE level without checking if TRACE level is enabled: " + msg);
-
-        impl.finest(msg);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void debug(String msg) {
-        if (!impl.isLoggable(FINE))
-            warning("Logging at DEBUG level without checking if DEBUG level is enabled: " + msg);
-
-        impl.fine(msg);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void info(String msg) {
-        if (!impl.isLoggable(INFO))
-            warning("Logging at INFO level without checking if INFO level is enabled: " + msg);
-
-        impl.info(msg);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void warning(String msg) {
-        impl.warning(msg);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void warning(String msg, @Nullable Throwable e) {
-        impl.log(WARNING, msg, e);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void error(String msg) {
-        impl.severe(msg);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isQuiet() {
-        return quiet;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void error(String msg, @Nullable Throwable e) {
-        impl.log(SEVERE, msg, e);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isTraceEnabled() {
-        return impl.isLoggable(FINEST);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isDebugEnabled() {
-        return impl.isLoggable(FINE);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isInfoEnabled() {
-        return impl.isLoggable(INFO);
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public String fileName() {
-        GridJavaLoggerFileHandler gridFileHnd = findHandler(impl, GridJavaLoggerFileHandler.class);
-
-        if (gridFileHnd != null)
-            return gridFileHnd.fileName();
-
-        FileHandler fileHnd = findHandler(impl, FileHandler.class);
-
-        return fileName(fileHnd);
-    }
-
-    /**
-     * @param fileHnd File handler.
-     * @return Current log file or {@code null} if it can not be retrieved from file handler.
-     */
-    @Nullable static String fileName(FileHandler fileHnd) {
-        if (fileHnd == null)
-            return null;
-
-        try {
-            File[] logFiles = U.field(fileHnd, "files");
-
-            return logFiles[0].getAbsolutePath();
-        }
-        catch (Exception ignored) {
-            return null;
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void setNodeId(UUID nodeId) {
-        A.notNull(nodeId, "nodeId");
-
-        if (this.nodeId != null)
-            return;
-
-        synchronized (mux) {
-            // Double check.
-            if (this.nodeId != null)
-                return;
-
-            this.nodeId = nodeId;
-        }
-
-        GridJavaLoggerFileHandler fileHnd = findHandler(impl, GridJavaLoggerFileHandler.class);
-
-        if (fileHnd == null)
-            return;
-
-        try {
-            fileHnd.nodeId(nodeId);
-        }
-        catch (GridException | IOException e) {
-            throw new RuntimeException("Failed to enable file handler.", e);
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public UUID getNodeId() {
-        return nodeId;
-    }
-
-    /**
-     * Returns first found handler of specified class type or {@code null} if that handler isn't configured.
-     *
-     * @param log Logger.
-     * @param cls Class.
-     * @param <T> Class type.
-     * @return First found handler of specified class type or {@code null} if that handler isn't configured.
-     */
-    @SuppressWarnings("unchecked")
-    private static <T> T findHandler(Logger log, Class<T> cls) {
-        while (log != null) {
-            for (Handler hnd : log.getHandlers()) {
-                if (cls.isInstance(hnd))
-                    return (T)hnd;
-            }
-
-            log = log.getParent();
-        }
-
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLoggerFileHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLoggerFileHandler.java b/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLoggerFileHandler.java
deleted file mode 100644
index 61340dd..0000000
--- a/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLoggerFileHandler.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.logger.java;
-
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.logging.*;
-
-/**
- * File logging handler which skips all the messages until node ID is set.
- */
-public final class GridJavaLoggerFileHandler extends StreamHandler {
-    /** Log manager. */
-    private static final LogManager manager = LogManager.getLogManager();
-
-    /** Handler delegate. */
-    private volatile FileHandler delegate;
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
-    @Override public void publish(LogRecord record) {
-        FileHandler delegate0 = delegate;
-
-        if (delegate0 != null)
-            delegate0.publish(record);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
-    @Override public void flush() {
-        FileHandler delegate0 = delegate;
-
-        if (delegate0 != null)
-            delegate0.flush();
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
-    @Override public void close() throws SecurityException {
-        FileHandler delegate0 = delegate;
-
-        if (delegate0 != null)
-            delegate0.close();
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
-    @Override public boolean isLoggable(LogRecord record) {
-        FileHandler delegate0 = delegate;
-
-        return delegate0 != null && delegate0.isLoggable(record);
-    }
-
-    /**
-     * Sets Node id and instantiates {@link FileHandler} delegate.
-     *
-     * @param nodeId Node id.
-     */
-    public void nodeId(UUID nodeId) throws GridException, IOException {
-        if (delegate != null)
-            return;
-
-        String clsName = getClass().getName();
-
-        String ptrn = manager.getProperty(clsName + ".pattern");
-
-        if (ptrn == null)
-            ptrn = "gridgain-%{id8}.%g.log";
-
-        ptrn = new File(logDirectory(), ptrn.replace("%{id8}", U.id8(nodeId))).getAbsolutePath();
-
-        int limit = getIntProperty(clsName + ".limit", 0);
-
-        if (limit < 0)
-            limit = 0;
-
-        int cnt = getIntProperty(clsName + ".count", 1);
-
-        if (cnt <= 0)
-            cnt = 1;
-
-        boolean append = getBooleanProperty(clsName + ".append", false);
-
-        FileHandler delegate0;
-
-        synchronized (this) {
-            if (delegate != null)
-                return;
-
-            delegate = delegate0 = new FileHandler(ptrn, limit, cnt, append);
-        }
-
-        delegate0.setLevel(getLevel());
-        delegate0.setFormatter(getFormatter());
-        delegate0.setEncoding(getEncoding());
-        delegate0.setFilter(getFilter());
-        delegate0.setErrorManager(getErrorManager());
-    }
-
-    /**
-     * Returns current log file.
-     *
-     * @return Pattern or {@code null} if node id has not been set yet.
-     */
-    @Nullable public String fileName() {
-        return GridJavaLogger.fileName(delegate);
-    }
-
-    /**
-     * Resolves logging directory.
-     *
-     * @return Logging directory.
-     */
-    private static File logDirectory() throws GridException {
-        return !F.isEmpty(U.GRIDGAIN_LOG_DIR) ? new File(U.GRIDGAIN_LOG_DIR) : U.resolveWorkDirectory("log", false);
-    }
-
-    /**
-     * Returns integer property from logging configuration.
-     *
-     * @param name Property name.
-     * @param dfltVal Default value.
-     * @return Parsed property value if it is set and valid or default value otherwise.
-     */
-    private int getIntProperty(String name, int dfltVal) {
-        String val = manager.getProperty(name);
-
-        if (val == null)
-            return dfltVal;
-
-        try {
-            return Integer.parseInt(val.trim());
-        }
-        catch (Exception ex) {
-            ex.printStackTrace();
-
-            return dfltVal;
-        }
-    }
-
-    /**
-     * Returns boolean property from logging configuration.
-     *
-     * @param name Property name.
-     * @param dfltVal Default value.
-     * @return Parsed property value if it is set and valid or default value otherwise.
-     */
-    @SuppressWarnings("SimplifiableIfStatement")
-    private boolean getBooleanProperty(String name, boolean dfltVal) {
-        String val = manager.getProperty(name);
-
-        if (val == null)
-            return dfltVal;
-
-        val = val.toLowerCase();
-
-        if ("true".equals(val) || "1".equals(val))
-            return true;
-
-        if ("false".equals(val) || "0".equals(val))
-            return false;
-
-        return dfltVal;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridJavaLoggerFileHandler.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLoggerFormatter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLoggerFormatter.java b/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLoggerFormatter.java
deleted file mode 100644
index 71d3838..0000000
--- a/modules/core/src/main/java/org/apache/ignite/logger/java/GridJavaLoggerFormatter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.logger.java;
-
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-import java.util.logging.Formatter;
-import java.util.logging.*;
-
-/**
- * Formatter for JUL logger.
- */
-public class GridJavaLoggerFormatter extends Formatter {
-    /** Name for anonymous loggers. */
-    public static final String ANONYMOUS_LOGGER_NAME = "UNKNOWN";
-
-    /** */
-    private static final ThreadLocal<SimpleDateFormat> DATE_FORMATTER = new ThreadLocal<SimpleDateFormat>() {
-        /** {@inheritDoc} */
-        @Override protected SimpleDateFormat initialValue() {
-            return new SimpleDateFormat("HH:mm:ss,SSS");
-        }
-    };
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
-    @Override public String format(LogRecord record) {
-        String threadName = Thread.currentThread().getName();
-
-        String logName = record.getLoggerName();
-
-        if (logName == null)
-            logName = ANONYMOUS_LOGGER_NAME;
-        else if (logName.contains("."))
-            logName = logName.substring(logName.lastIndexOf('.') + 1);
-
-        String ex = null;
-
-        if (record.getThrown() != null) {
-            StringWriter sw = new StringWriter();
-
-            record.getThrown().printStackTrace(new PrintWriter(sw));
-
-            String stackTrace = sw.toString();
-
-            ex = "\n" + stackTrace;
-        }
-
-        return "[" + DATE_FORMATTER.get().format(new Date(record.getMillis())) + "][" +
-            record.getLevel() + "][" +
-            threadName + "][" +
-            logName + "] " +
-            record.getMessage() +
-            (ex == null ? "\n" : ex);
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridJavaLoggerFormatter.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLogger.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLogger.java b/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLogger.java
new file mode 100644
index 0000000..57b6ff9
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLogger.java
@@ -0,0 +1,382 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.logger.java;
+
+import org.apache.ignite.*;
+import org.apache.ignite.logger.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.util.lang.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import java.util.logging.*;
+
+import static java.util.logging.Level.*;
+import static org.gridgain.grid.GridSystemProperties.*;
+
+/**
+ * Logger to use with Java logging. Implementation simply delegates to Java Logging.
+ * <p>
+ * Here is an example of configuring Java logger in GridGain configuration Spring
+ * file to work over log4j implementation. Note that we use the same configuration file
+ * as we provide by default:
+ * <pre name="code" class="xml">
+ *      ...
+ *      &lt;property name="gridLogger"&gt;
+ *          &lt;bean class="org.gridgain.grid.logger.java.GridJavaLogger"&gt;
+ *              &lt;constructor-arg type="java.util.logging.Logger"&gt;
+ *                  &lt;bean class="java.util.logging.Logger"&gt;
+ *                      &lt;constructor-arg type="java.lang.String" value="global"/&gt;
+ *                  &lt;/bean&gt;
+ *              &lt;/constructor-arg&gt;
+ *          &lt;/bean&gt;
+ *      &lt;/property&gt;
+ *      ...
+ * </pre>
+ * or
+ * <pre name="code" class="xml">
+ *      ...
+ *      &lt;property name="gridLogger"&gt;
+ *          &lt;bean class="org.gridgain.grid.logger.java.GridJavaLogger"/&gt;
+ *      &lt;/property&gt;
+ *      ...
+ * </pre>
+ * And the same configuration if you'd like to configure GridGain in your code:
+ * <pre name="code" class="java">
+ *      GridConfiguration cfg = new GridConfiguration();
+ *      ...
+ *      GridLogger log = new GridJavaLogger(Logger.global);
+ *      ...
+ *      cfg.setGridLogger(log);
+ * </pre>
+ * or which is actually the same:
+ * <pre name="code" class="java">
+ *      GridConfiguration cfg = new GridConfiguration();
+ *      ...
+ *      GridLogger log = new GridJavaLogger();
+ *      ...
+ *      cfg.setGridLogger(log);
+ * </pre>
+ * Please take a look at <a target=_new href="http://java.sun.com/j2se/1.4.2/docs/api20/java/util/logging/Logger.html">Logger javadoc</a>
+ * for additional information.
+ * <p>
+ * It's recommended to use GridGain logger injection instead of using/instantiating
+ * logger in your task/job code. See {@link org.apache.ignite.resources.IgniteLoggerResource} annotation about logger
+ * injection.
+ */
+public class IgniteJavaLogger extends GridMetadataAwareAdapter implements IgniteLogger, IgniteLoggerNodeIdAware {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** */
+    public static final String DFLT_CONFIG_PATH = "config/java.util.logging.properties";
+
+    /** */
+    private static final Object mux = new Object();
+
+    /** */
+    private static volatile boolean inited;
+
+    /** */
+    private static volatile boolean quiet0;
+
+    /** Java Logging implementation proxy. */
+    @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")
+    private Logger impl;
+
+    /** Quiet flag. */
+    private final boolean quiet;
+
+    /** Node ID. */
+    private volatile UUID nodeId;
+
+    /**
+     * Creates new logger.
+     */
+    public IgniteJavaLogger() {
+        this(!isConfigured());
+    }
+
+    /**
+     * Checks if logger is already configured within this VM or not.
+     *
+     * @return {@code True} if logger was already configured, {@code false} otherwise.
+     */
+    public static boolean isConfigured() {
+        return System.getProperty("java.util.logging.config.file") != null;
+    }
+
+    /**
+     * Reads default JUL configuration.
+     */
+    private void defaultConfiguration() {
+        final URL cfgUrl = U.resolveGridGainUrl(DFLT_CONFIG_PATH);
+
+        if (cfgUrl == null) {
+            error("Failed to resolve default logging config file: " + DFLT_CONFIG_PATH);
+
+            return;
+        }
+
+        try (InputStream in = cfgUrl.openStream()) {
+            LogManager.getLogManager().readConfiguration(in);
+        }
+        catch (IOException e) {
+            error("Failed to read logging configuration: " + cfgUrl, e);
+        }
+    }
+
+    /**
+     * Creates new logger.
+     *
+     * @param init If {@code true}, then a default console appender will be created.
+     *      If {@code false}, then no implicit initialization will take place,
+     *      and java logger should be configured prior to calling this constructor.
+     */
+    public IgniteJavaLogger(boolean init) {
+        impl = Logger.getLogger("");
+
+        if (init) {
+            // Implementation has already been inited, passing NULL.
+            configure(null);
+
+            quiet = quiet0;
+        }
+        else
+            quiet = true;
+    }
+
+    /**
+     * Creates new logger with given implementation.
+     *
+     * @param impl Java Logging implementation to use.
+     */
+    public IgniteJavaLogger(final Logger impl) {
+        assert impl != null;
+
+        configure(impl);
+
+        quiet = quiet0;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteLogger getLogger(Object ctgr) {
+        return new IgniteJavaLogger(ctgr == null ? Logger.getLogger("") : Logger.getLogger(
+            ctgr instanceof Class ? ((Class)ctgr).getName() : String.valueOf(ctgr)));
+    }
+
+    /**
+     * Configures handlers when needed.
+     *
+     * @param initImpl Optional log implementation.
+     */
+    private void configure(@Nullable Logger initImpl) {
+        if (initImpl != null)
+            impl = initImpl;
+
+        if (inited)
+            return;
+
+        synchronized (mux) {
+            if (inited)
+                return;
+
+            if (isConfigured()) {
+                boolean consoleHndFound = findHandler(impl, ConsoleHandler.class) != null;
+
+                // User configured console appender, thus log is not quiet.
+                quiet0 = !consoleHndFound;
+                inited = true;
+
+                return;
+            }
+
+            defaultConfiguration();
+
+            boolean quiet = Boolean.valueOf(System.getProperty(GG_QUIET, "true"));
+            boolean useConsoleAppender = Boolean.valueOf(System.getProperty(GG_CONSOLE_APPENDER, "true"));
+
+            if (useConsoleAppender) {
+                ConsoleHandler consoleHnd = findHandler(impl, ConsoleHandler.class);
+
+                if (consoleHnd != null)
+                    consoleHnd.setLevel(quiet ? SEVERE : INFO);
+                else
+                    System.err.println("Console logging handler is not configured.");
+            }
+            else {
+                Handler[] handlers = Logger.getLogger("").getHandlers();
+
+                if  (!F.isEmpty(handlers)) {
+                    for (Handler h : handlers) {
+                        if (h instanceof ConsoleHandler)
+                            impl.removeHandler(h);
+                    }
+                }
+            }
+
+            quiet0 = quiet;
+            inited = true;
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void trace(String msg) {
+        if (!impl.isLoggable(FINEST))
+            warning("Logging at TRACE level without checking if TRACE level is enabled: " + msg);
+
+        impl.finest(msg);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void debug(String msg) {
+        if (!impl.isLoggable(FINE))
+            warning("Logging at DEBUG level without checking if DEBUG level is enabled: " + msg);
+
+        impl.fine(msg);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void info(String msg) {
+        if (!impl.isLoggable(INFO))
+            warning("Logging at INFO level without checking if INFO level is enabled: " + msg);
+
+        impl.info(msg);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void warning(String msg) {
+        impl.warning(msg);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void warning(String msg, @Nullable Throwable e) {
+        impl.log(WARNING, msg, e);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void error(String msg) {
+        impl.severe(msg);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isQuiet() {
+        return quiet;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void error(String msg, @Nullable Throwable e) {
+        impl.log(SEVERE, msg, e);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isTraceEnabled() {
+        return impl.isLoggable(FINEST);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isDebugEnabled() {
+        return impl.isLoggable(FINE);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isInfoEnabled() {
+        return impl.isLoggable(INFO);
+    }
+
+    /** {@inheritDoc} */
+    @Nullable @Override public String fileName() {
+        IgniteJavaLoggerFileHandler gridFileHnd = findHandler(impl, IgniteJavaLoggerFileHandler.class);
+
+        if (gridFileHnd != null)
+            return gridFileHnd.fileName();
+
+        FileHandler fileHnd = findHandler(impl, FileHandler.class);
+
+        return fileName(fileHnd);
+    }
+
+    /**
+     * @param fileHnd File handler.
+     * @return Current log file or {@code null} if it can not be retrieved from file handler.
+     */
+    @Nullable static String fileName(FileHandler fileHnd) {
+        if (fileHnd == null)
+            return null;
+
+        try {
+            File[] logFiles = U.field(fileHnd, "files");
+
+            return logFiles[0].getAbsolutePath();
+        }
+        catch (Exception ignored) {
+            return null;
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void setNodeId(UUID nodeId) {
+        A.notNull(nodeId, "nodeId");
+
+        if (this.nodeId != null)
+            return;
+
+        synchronized (mux) {
+            // Double check.
+            if (this.nodeId != null)
+                return;
+
+            this.nodeId = nodeId;
+        }
+
+        IgniteJavaLoggerFileHandler fileHnd = findHandler(impl, IgniteJavaLoggerFileHandler.class);
+
+        if (fileHnd == null)
+            return;
+
+        try {
+            fileHnd.nodeId(nodeId);
+        }
+        catch (GridException | IOException e) {
+            throw new RuntimeException("Failed to enable file handler.", e);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public UUID getNodeId() {
+        return nodeId;
+    }
+
+    /**
+     * Returns first found handler of specified class type or {@code null} if that handler isn't configured.
+     *
+     * @param log Logger.
+     * @param cls Class.
+     * @param <T> Class type.
+     * @return First found handler of specified class type or {@code null} if that handler isn't configured.
+     */
+    @SuppressWarnings("unchecked")
+    private static <T> T findHandler(Logger log, Class<T> cls) {
+        while (log != null) {
+            for (Handler hnd : log.getHandlers()) {
+                if (cls.isInstance(hnd))
+                    return (T)hnd;
+            }
+
+            log = log.getParent();
+        }
+
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLoggerFileHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLoggerFileHandler.java b/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLoggerFileHandler.java
new file mode 100644
index 0000000..80d56f3
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLoggerFileHandler.java
@@ -0,0 +1,182 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.logger.java;
+
+import org.gridgain.grid.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.logging.*;
+
+/**
+ * File logging handler which skips all the messages until node ID is set.
+ */
+public final class IgniteJavaLoggerFileHandler extends StreamHandler {
+    /** Log manager. */
+    private static final LogManager manager = LogManager.getLogManager();
+
+    /** Handler delegate. */
+    private volatile FileHandler delegate;
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
+    @Override public void publish(LogRecord record) {
+        FileHandler delegate0 = delegate;
+
+        if (delegate0 != null)
+            delegate0.publish(record);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
+    @Override public void flush() {
+        FileHandler delegate0 = delegate;
+
+        if (delegate0 != null)
+            delegate0.flush();
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
+    @Override public void close() throws SecurityException {
+        FileHandler delegate0 = delegate;
+
+        if (delegate0 != null)
+            delegate0.close();
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
+    @Override public boolean isLoggable(LogRecord record) {
+        FileHandler delegate0 = delegate;
+
+        return delegate0 != null && delegate0.isLoggable(record);
+    }
+
+    /**
+     * Sets Node id and instantiates {@link FileHandler} delegate.
+     *
+     * @param nodeId Node id.
+     */
+    public void nodeId(UUID nodeId) throws GridException, IOException {
+        if (delegate != null)
+            return;
+
+        String clsName = getClass().getName();
+
+        String ptrn = manager.getProperty(clsName + ".pattern");
+
+        if (ptrn == null)
+            ptrn = "gridgain-%{id8}.%g.log";
+
+        ptrn = new File(logDirectory(), ptrn.replace("%{id8}", U.id8(nodeId))).getAbsolutePath();
+
+        int limit = getIntProperty(clsName + ".limit", 0);
+
+        if (limit < 0)
+            limit = 0;
+
+        int cnt = getIntProperty(clsName + ".count", 1);
+
+        if (cnt <= 0)
+            cnt = 1;
+
+        boolean append = getBooleanProperty(clsName + ".append", false);
+
+        FileHandler delegate0;
+
+        synchronized (this) {
+            if (delegate != null)
+                return;
+
+            delegate = delegate0 = new FileHandler(ptrn, limit, cnt, append);
+        }
+
+        delegate0.setLevel(getLevel());
+        delegate0.setFormatter(getFormatter());
+        delegate0.setEncoding(getEncoding());
+        delegate0.setFilter(getFilter());
+        delegate0.setErrorManager(getErrorManager());
+    }
+
+    /**
+     * Returns current log file.
+     *
+     * @return Pattern or {@code null} if node id has not been set yet.
+     */
+    @Nullable public String fileName() {
+        return IgniteJavaLogger.fileName(delegate);
+    }
+
+    /**
+     * Resolves logging directory.
+     *
+     * @return Logging directory.
+     */
+    private static File logDirectory() throws GridException {
+        return !F.isEmpty(U.GRIDGAIN_LOG_DIR) ? new File(U.GRIDGAIN_LOG_DIR) : U.resolveWorkDirectory("log", false);
+    }
+
+    /**
+     * Returns integer property from logging configuration.
+     *
+     * @param name Property name.
+     * @param dfltVal Default value.
+     * @return Parsed property value if it is set and valid or default value otherwise.
+     */
+    private int getIntProperty(String name, int dfltVal) {
+        String val = manager.getProperty(name);
+
+        if (val == null)
+            return dfltVal;
+
+        try {
+            return Integer.parseInt(val.trim());
+        }
+        catch (Exception ex) {
+            ex.printStackTrace();
+
+            return dfltVal;
+        }
+    }
+
+    /**
+     * Returns boolean property from logging configuration.
+     *
+     * @param name Property name.
+     * @param dfltVal Default value.
+     * @return Parsed property value if it is set and valid or default value otherwise.
+     */
+    @SuppressWarnings("SimplifiableIfStatement")
+    private boolean getBooleanProperty(String name, boolean dfltVal) {
+        String val = manager.getProperty(name);
+
+        if (val == null)
+            return dfltVal;
+
+        val = val.toLowerCase();
+
+        if ("true".equals(val) || "1".equals(val))
+            return true;
+
+        if ("false".equals(val) || "0".equals(val))
+            return false;
+
+        return dfltVal;
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteJavaLoggerFileHandler.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLoggerFormatter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLoggerFormatter.java b/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLoggerFormatter.java
new file mode 100644
index 0000000..62154de
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/logger/java/IgniteJavaLoggerFormatter.java
@@ -0,0 +1,71 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.logger.java;
+
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+import java.util.logging.Formatter;
+import java.util.logging.*;
+
+/**
+ * Formatter for JUL logger.
+ */
+public class IgniteJavaLoggerFormatter extends Formatter {
+    /** Name for anonymous loggers. */
+    public static final String ANONYMOUS_LOGGER_NAME = "UNKNOWN";
+
+    /** */
+    private static final ThreadLocal<SimpleDateFormat> DATE_FORMATTER = new ThreadLocal<SimpleDateFormat>() {
+        /** {@inheritDoc} */
+        @Override protected SimpleDateFormat initialValue() {
+            return new SimpleDateFormat("HH:mm:ss,SSS");
+        }
+    };
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
+    @Override public String format(LogRecord record) {
+        String threadName = Thread.currentThread().getName();
+
+        String logName = record.getLoggerName();
+
+        if (logName == null)
+            logName = ANONYMOUS_LOGGER_NAME;
+        else if (logName.contains("."))
+            logName = logName.substring(logName.lastIndexOf('.') + 1);
+
+        String ex = null;
+
+        if (record.getThrown() != null) {
+            StringWriter sw = new StringWriter();
+
+            record.getThrown().printStackTrace(new PrintWriter(sw));
+
+            String stackTrace = sw.toString();
+
+            ex = "\n" + stackTrace;
+        }
+
+        return "[" + DATE_FORMATTER.get().format(new Date(record.getMillis())) + "][" +
+            record.getLevel() + "][" +
+            threadName + "][" +
+            logName + "] " +
+            record.getMessage() +
+            (ex == null ? "\n" : ex);
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteJavaLoggerFormatter.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/gridgain/client/impl/connection/GridClientConnectionManagerAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/client/impl/connection/GridClientConnectionManagerAdapter.java b/modules/core/src/main/java/org/gridgain/client/impl/connection/GridClientConnectionManagerAdapter.java
index 8592f93..c181141 100644
--- a/modules/core/src/main/java/org/gridgain/client/impl/connection/GridClientConnectionManagerAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/client/impl/connection/GridClientConnectionManagerAdapter.java
@@ -169,7 +169,7 @@ abstract class GridClientConnectionManagerAdapter implements GridClientConnectio
 
         if (cfg.getProtocol() == GridClientProtocol.TCP) {
             try {
-                IgniteLogger gridLog = new GridJavaLogger(false);
+                IgniteLogger gridLog = new IgniteJavaLogger(false);
 
                 GridNioFilter[] filters;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/gridgain/client/router/impl/GridTcpRouterImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/client/router/impl/GridTcpRouterImpl.java b/modules/core/src/main/java/org/gridgain/client/router/impl/GridTcpRouterImpl.java
index 6c4d6c5..2179417 100644
--- a/modules/core/src/main/java/org/gridgain/client/router/impl/GridTcpRouterImpl.java
+++ b/modules/core/src/main/java/org/gridgain/client/router/impl/GridTcpRouterImpl.java
@@ -73,7 +73,7 @@ public class GridTcpRouterImpl implements GridTcpRouter, GridTcpRouterMBean, Lif
         this.cfg = cfg;
 
         log = cfg.getLogger() != null ?
-            cfg.getLogger().getLogger(getClass()) : new GridJavaLogger().getLogger(getClass());
+            cfg.getLogger().getLogger(getClass()) : new IgniteJavaLogger().getLogger(getClass());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/gridgain/grid/GridBasicWarmupClosure.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/GridBasicWarmupClosure.java b/modules/core/src/main/java/org/gridgain/grid/GridBasicWarmupClosure.java
index e89ce75..43720d0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/GridBasicWarmupClosure.java
+++ b/modules/core/src/main/java/org/gridgain/grid/GridBasicWarmupClosure.java
@@ -201,7 +201,7 @@ public class GridBasicWarmupClosure implements IgniteInClosure<IgniteConfigurati
 
                 cfg0.setDiscoverySpi(discoSpi);
 
-                cfg0.setGridLogger(new GridNullLogger());
+                cfg0.setGridLogger(new IgniteNullLogger());
 
                 cfg0.setGridName("gridgain-warmup-grid-" + i);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
index f9ac8e1..d9db364 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
@@ -2002,12 +2002,12 @@ public class GridGainEx {
                             cfgLog = (IgniteLogger)log4jCls.newInstance();
                     }
                     else
-                        cfgLog = new GridJavaLogger();
+                        cfgLog = new IgniteJavaLogger();
                 }
 
                 // Set node IDs for all file appenders.
-                if (cfgLog instanceof GridLoggerNodeIdAware)
-                    ((GridLoggerNodeIdAware)cfgLog).setNodeId(nodeId);
+                if (cfgLog instanceof IgniteLoggerNodeIdAware)
+                    ((IgniteLoggerNodeIdAware)cfgLog).setNodeId(nodeId);
 
                 return cfgLog;
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/grid/kernal/GridLifecycleAwareSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/GridLifecycleAwareSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/GridLifecycleAwareSelfTest.java
index 4257740..2452120 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/GridLifecycleAwareSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/GridLifecycleAwareSelfTest.java
@@ -117,7 +117,7 @@ public class GridLifecycleAwareSelfTest extends GridAbstractLifecycleAwareSelfTe
 
     /**
      */
-    private static class TestLogger extends GridJavaLogger implements LifecycleAware {
+    private static class TestLogger extends IgniteJavaLogger implements LifecycleAware {
         /** */
         private final TestLifecycleAware lifecycleAware = new TestLifecycleAware(null);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/grid/logger/java/GridJavaLoggerTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/logger/java/GridJavaLoggerTest.java b/modules/core/src/test/java/org/gridgain/grid/logger/java/GridJavaLoggerTest.java
index 174b0e7..5dd0355 100644
--- a/modules/core/src/test/java/org/gridgain/grid/logger/java/GridJavaLoggerTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/logger/java/GridJavaLoggerTest.java
@@ -31,9 +31,9 @@ public class GridJavaLoggerTest extends TestCase {
     public void testLogInitialize() throws Exception {
         U.setWorkDirectory(null, U.getGridGainHome());
 
-        log = new GridJavaLogger();
+        log = new IgniteJavaLogger();
 
-        ((GridLoggerNodeIdAware)log).setNodeId(UUID.fromString("00000000-1111-2222-3333-444444444444"));
+        ((IgniteLoggerNodeIdAware)log).setNodeId(UUID.fromString("00000000-1111-2222-3333-444444444444"));
 
         if (log.isDebugEnabled())
             log.debug("This is 'debug' message.");
@@ -46,7 +46,7 @@ public class GridJavaLoggerTest extends TestCase {
         log.error("This is 'error' message.");
         log.error("This is 'error' message.", new Exception("It's a test error exception"));
 
-        assert log.getLogger(GridJavaLoggerTest.class.getName()) instanceof GridJavaLogger;
+        assert log.getLogger(GridJavaLoggerTest.class.getName()) instanceof IgniteJavaLogger;
 
         assert log.fileName() != null;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/grid/marshaller/GridMarshallerResourceBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/marshaller/GridMarshallerResourceBean.java b/modules/core/src/test/java/org/gridgain/grid/marshaller/GridMarshallerResourceBean.java
index bc4b95a..9e7af1d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/marshaller/GridMarshallerResourceBean.java
+++ b/modules/core/src/test/java/org/gridgain/grid/marshaller/GridMarshallerResourceBean.java
@@ -58,7 +58,7 @@ class GridMarshallerResourceBean implements Serializable {
      * Initialization.
      */
     GridMarshallerResourceBean() {
-        log = new GridJavaLogger();
+        log = new IgniteJavaLogger();
         marshaller = new GridJdkMarshaller();
         mbeanSrv = ManagementFactory.getPlatformMBeanServer();
         ses = new GridTestTaskSession();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithSpecifiedWorkDirectorySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithSpecifiedWorkDirectorySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithSpecifiedWorkDirectorySelfTest.java
index 71b8827..2224e80 100644
--- a/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithSpecifiedWorkDirectorySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithSpecifiedWorkDirectorySelfTest.java
@@ -88,7 +88,7 @@ public class GridStartupWithSpecifiedWorkDirectorySelfTest extends TestCase {
      * @throws Exception If failed.
      */
     public void testStartStopWithUndefinedHomeAndWorkDirs() throws Exception {
-        IgniteLogger log = new GridJavaLogger();
+        IgniteLogger log = new IgniteJavaLogger();
 
         log.info(">>> Test started: " + getName());
         log.info("Grid start-stop test count: " + GRID_COUNT);
@@ -123,7 +123,7 @@ public class GridStartupWithSpecifiedWorkDirectorySelfTest extends TestCase {
      * @throws Exception If failed.
      */
     public void testStartStopWithUndefinedHomeAndConfiguredWorkDirs() throws Exception {
-        IgniteLogger log = new GridJavaLogger();
+        IgniteLogger log = new IgniteJavaLogger();
 
         log.info(">>> Test started: " + getName());
         log.info("Grid start-stop test count: " + GRID_COUNT);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithUndefinedGridGainHomeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithUndefinedGridGainHomeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithUndefinedGridGainHomeSelfTest.java
index 523057f..7163494 100644
--- a/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithUndefinedGridGainHomeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/util/GridStartupWithUndefinedGridGainHomeSelfTest.java
@@ -64,7 +64,7 @@ public class GridStartupWithUndefinedGridGainHomeSelfTest extends TestCase {
 
         assert ggHome0 == null;
 
-        IgniteLogger log = new GridJavaLogger();
+        IgniteLogger log = new IgniteJavaLogger();
 
         log.info(">>> Test started: " + getName());
         log.info("Grid start-stop test count: " + GRID_COUNT);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridGgfsSharedMemoryTestClient.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridGgfsSharedMemoryTestClient.java b/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridGgfsSharedMemoryTestClient.java
index 6df6491..e66e616 100644
--- a/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridGgfsSharedMemoryTestClient.java
+++ b/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridGgfsSharedMemoryTestClient.java
@@ -42,7 +42,7 @@ public class GridGgfsSharedMemoryTestClient {
 
         try {
             GridIpcSharedMemoryClientEndpoint client = (GridIpcSharedMemoryClientEndpoint)GridIpcEndpointFactory.connectEndpoint(
-                "shmem:" + GridIpcSharedMemoryServerEndpoint.DFLT_IPC_PORT, new GridJavaLogger());
+                "shmem:" + GridIpcSharedMemoryServerEndpoint.DFLT_IPC_PORT, new IgniteJavaLogger());
 
             os = client.outputStream();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemoryFakeClient.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemoryFakeClient.java b/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemoryFakeClient.java
index b4f852b..567b367 100644
--- a/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemoryFakeClient.java
+++ b/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/GridIpcSharedMemoryFakeClient.java
@@ -21,8 +21,8 @@ public class GridIpcSharedMemoryFakeClient {
      * @throws Exception If failed.
      */
     public static void main(String[] args) throws Exception{
-        GridIpcEndpointFactory.connectEndpoint("shmem:10500", new GridJavaLogger());
-        GridIpcEndpointFactory.connectEndpoint("shmem:10500", new GridJavaLogger());
-        GridIpcEndpointFactory.connectEndpoint("shmem:10500", new GridJavaLogger());
+        GridIpcEndpointFactory.connectEndpoint("shmem:10500", new IgniteJavaLogger());
+        GridIpcEndpointFactory.connectEndpoint("shmem:10500", new IgniteJavaLogger());
+        GridIpcEndpointFactory.connectEndpoint("shmem:10500", new IgniteJavaLogger());
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/benchmark/GridIpcSharedMemoryBenchmarkWriter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/benchmark/GridIpcSharedMemoryBenchmarkWriter.java b/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/benchmark/GridIpcSharedMemoryBenchmarkWriter.java
index 8f98b23..a2c9fea 100644
--- a/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/benchmark/GridIpcSharedMemoryBenchmarkWriter.java
+++ b/modules/core/src/test/java/org/gridgain/grid/util/ipc/shmem/benchmark/GridIpcSharedMemoryBenchmarkWriter.java
@@ -76,7 +76,7 @@ public class GridIpcSharedMemoryBenchmarkWriter implements GridIpcSharedMemoryBe
 
                     try {
                         client = GridIpcEndpointFactory.connectEndpoint("shmem:" +
-                            GridIpcSharedMemoryServerEndpoint.DFLT_IPC_PORT, new GridJavaLogger());
+                            GridIpcSharedMemoryServerEndpoint.DFLT_IPC_PORT, new IgniteJavaLogger());
 
                         OutputStream space = client.outputStream();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridLog4jRollingFileAppender.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridLog4jRollingFileAppender.java b/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridLog4jRollingFileAppender.java
index 211b951..041b460 100644
--- a/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridLog4jRollingFileAppender.java
+++ b/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridLog4jRollingFileAppender.java
@@ -20,7 +20,7 @@ import java.util.*;
 /**
  * Log4J {@link org.apache.log4j.RollingFileAppender} with added support for grid node IDs.
  */
-public class GridLog4jRollingFileAppender extends RollingFileAppender implements GridLoggerNodeIdAware {
+public class GridLog4jRollingFileAppender extends RollingFileAppender implements IgniteLoggerNodeIdAware {
     /** Node ID. */
     private UUID nodeId;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridTestLog4jLogger.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridTestLog4jLogger.java b/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridTestLog4jLogger.java
index 224fd79..f0c05dc 100644
--- a/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridTestLog4jLogger.java
+++ b/modules/core/src/test/java/org/gridgain/testframework/junits/logger/GridTestLog4jLogger.java
@@ -58,7 +58,7 @@ import static org.gridgain.grid.GridSystemProperties.*;
  * logger in your task/job code. See {@link org.apache.ignite.resources.IgniteLoggerResource} annotation about logger
  * injection.
  */
-public class GridTestLog4jLogger extends GridMetadataAwareAdapter implements IgniteLogger, GridLoggerNodeIdAware {
+public class GridTestLog4jLogger extends GridMetadataAwareAdapter implements IgniteLogger, IgniteLoggerNodeIdAware {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -395,8 +395,8 @@ public class GridTestLog4jLogger extends GridMetadataAwareAdapter implements Ign
         this.nodeId = nodeId;
 
         for (FileAppender a : fileAppenders) {
-            if (a instanceof GridLoggerNodeIdAware) {
-                ((GridLoggerNodeIdAware)a).setNodeId(nodeId);
+            if (a instanceof IgniteLoggerNodeIdAware) {
+                ((IgniteLoggerNodeIdAware)a).setNodeId(nodeId);
 
                 a.activateOptions();
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ba7a05db/modules/log4j/src/main/java/org/gridgain/grid/logger/log4j/GridLog4jLogger.java
----------------------------------------------------------------------
diff --git a/modules/log4j/src/main/java/org/gridgain/grid/logger/log4j/GridLog4jLogger.java b/modules/log4j/src/main/java/org/gridgain/grid/logger/log4j/GridLog4jLogger.java
index 4fda087..c0bbdaa 100644
--- a/modules/log4j/src/main/java/org/gridgain/grid/logger/log4j/GridLog4jLogger.java
+++ b/modules/log4j/src/main/java/org/gridgain/grid/logger/log4j/GridLog4jLogger.java
@@ -58,7 +58,7 @@ import static org.gridgain.grid.GridSystemProperties.*;
  * logger in your task/job code. See {@link org.apache.ignite.resources.IgniteLoggerResource} annotation about logger
  * injection.
  */
-public class GridLog4jLogger extends GridMetadataAwareAdapter implements IgniteLogger, GridLoggerNodeIdAware,
+public class GridLog4jLogger extends GridMetadataAwareAdapter implements IgniteLogger, IgniteLoggerNodeIdAware,
     GridLog4jFileAware {
     /** */
     private static final long serialVersionUID = 0L;