]> source.dussan.org Git - vaadin-framework.git/commitdiff
Disable all logging if production mode is enabled (#12299)
authorLeif Åstrand <leif@vaadin.com>
Thu, 1 Aug 2013 09:18:05 +0000 (12:18 +0300)
committerLeif Åstrand <leif@vaadin.com>
Thu, 1 Aug 2013 09:18:05 +0000 (12:18 +0300)
Change-Id: Ia6b05c0ebaf1f0bb4fb675392cc8f634cab8e494

client/src/com/vaadin/client/ApplicationConfiguration.java

index ecd957194d13b7d3b11c1026e1d71c84885e66c9..da8f5217993a6ea081cb35d50b5c236c2b9fb561 100644 (file)
@@ -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) {