diff options
-rw-r--r-- | client/src/com/vaadin/client/ApplicationConfiguration.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/client/src/com/vaadin/client/ApplicationConfiguration.java b/client/src/com/vaadin/client/ApplicationConfiguration.java index ecd957194d..da8f521799 100644 --- a/client/src/com/vaadin/client/ApplicationConfiguration.java +++ b/client/src/com/vaadin/client/ApplicationConfiguration.java @@ -610,6 +610,11 @@ public class ApplicationConfiguration implements EntryPoint { getLogger().log(Level.SEVERE, e.getMessage(), e); } }); + + if (isProductionMode()) { + // Disable all logging if in production mode + Logger.getLogger("").setLevel(Level.OFF); + } } Profiler.leave("ApplicationConfiguration.onModuleLoad"); @@ -649,7 +654,11 @@ public class ApplicationConfiguration implements EntryPoint { /** * Checks if client side is in debug mode. Practically this is invoked by - * adding ?debug parameter to URI. + * adding ?debug parameter to URI. Please note that debug mode is always + * disabled if production mode is enabled, but disabling production mode + * does not automatically enable debug mode. + * + * @see #isProductionMode() * * @return true if client side is currently been debugged */ @@ -658,6 +667,19 @@ public class ApplicationConfiguration implements EntryPoint { && Window.Location.getParameter("debug") != null; } + /** + * Checks if production mode is enabled. When production mode is enabled, + * client-side logging is disabled. There may also be other performance + * optimizations. + * + * @since 7.1.2 + * @return <code>true</code> if production mode is enabled; otherwise + * <code>false</code>. + */ + public static boolean isProductionMode() { + return !isDebugAvailable(); + } + private native static boolean isDebugAvailable() /*-{ if($wnd.vaadin.debug) { |