You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2007/07/26 16:31:53 UTC

svn commit: r559831 - in /roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger: config/WebloggerConfig.java config/roller.properties ui/core/RollerContext.java

Author: snoopdave
Date: Thu Jul 26 07:31:52 2007
New Revision: 559831

URL: http://svn.apache.org/viewvc?view=rev&rev=559831
Log:
Implementing ROL-1491 - make log4j configurable via roller-custom.properties

Modified:
    roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java
    roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
    roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java

Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java?view=diff&rev=559831&r1=559830&r2=559831
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java Thu Jul 26 07:31:52 2007
@@ -22,6 +22,7 @@
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.util.Enumeration;
+import java.util.Iterator;
 import java.util.Properties;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -203,7 +204,20 @@
     public static Enumeration keys() {
         return mConfig.keys();
     }
-   
+    
+    
+    /**
+     * Get properties starting with a specified string.
+     */
+    public static Properties getPropertiesStartingWith(String startingWith) {
+        Properties props = new Properties();
+        for (Enumeration it = mConfig.keys(); it.hasMoreElements();) {
+            String key = (String)it.nextElement();
+            props.put(key, mConfig.get(key));
+        }
+        return props;
+    }
+    
 
     /**
      * Set the "uploads.dir" property at runtime.

Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties?view=diff&rev=559831&r1=559830&r2=559831
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties Thu Jul 26 07:31:52 2007
@@ -54,6 +54,7 @@
 # -- Rendering system
 # -- Weblog ping system
 # -- Pluggable backend, page and editor plugins
+# -- Log4j logging settings
 # -- Other settings
 # -- Experimental, deprecated and "undocumented" settings
 
@@ -579,6 +580,39 @@
 
 # Set to true to allow only default topic tag site (and avoid costly bookmark queries)
 plugins.topictag.ignoreBookmarks=true
+
+
+#-----------------------------------------------------------------------------
+# Log4j logging settings
+#-----------------------------------------------------------------------------
+
+log4j.rootCategory=INFO, roller
+
+log4j.appender.roller=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.roller.File=${catalina.base}/logs/roller.log
+log4j.appender.roller.layout=org.apache.log4j.PatternLayout
+log4j.appender.roller.layout.ConversionPattern=%-5p %d{yyyy-MM-dd HH:mm:ss,SSS} %C{1}:%M - %m%n
+
+# Options are: DEBUG, INFO, WARN, ERROR, FATAL
+# Roller code
+log4j.category.org.apache.roller=INFO
+log4j.category.net.java.roller=INFO
+
+# Roller dependent libraries
+log4j.category.org.hibernate=INFO
+log4j.category.org.apache.struts2=INFO
+# the struts2 file upload stuff has some overly verbose messaging
+log4j.category.org.apache.struts2.interceptor.FileUploadInterceptor=WARN
+log4j.category.org.springframework=WARN
+log4j.category.org.acegisecurity=ERROR
+# Velocity talks a lot, so by default it is set to STFU mode
+log4j.category.org.apache.velocity=FATAL
+
+# Roller extras
+log4j.category.com.ecyrd.jspwiki=ERROR
+log4j.category.org.tuckey.web.filters.urlrewrite=DEBUG
+log4j.category.com.opensymphony.oscache=ERROR
+log4j.category.com.danga.MemCached=WARN
 
 
 #-----------------------------------------------------------------------------

Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java?view=diff&rev=559831&r1=559830&r2=559831
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java Thu Jul 26 07:31:52 2007
@@ -32,6 +32,7 @@
 import org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.log4j.PropertyConfigurator;
 import org.apache.roller.planet.business.GuicePlanetProvider;
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.business.BootstrapException;
@@ -82,6 +83,10 @@
         // context files specified in web.xml. This is necessary because
         // listeners don't initialize in the order specified in 2.3 containers
         super.contextInitialized(sce);
+        
+        // Initialize logging subsystem via WebloggerConfig
+        Properties log4jprops = new Properties();
+        PropertyConfigurator.configure(WebloggerConfig.getPropertiesStartingWith("log4j."));
         
         // get the *real* path to <context>/resources
         String ctxPath = servletContext.getRealPath("/");



Re: svn commit: r559831 - in /roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger: config/WebloggerConfig.java config/roller.properties ui/core/RollerContext.java

Posted by Allen Gilliland <al...@sun.com>.
few minor issues here.

1. placing the logging system init in the context startup method 
prevents logging from being configured when that app is started in any 
other way, such as through standalone tasks, etc.

2. by using the WebloggerConfig class to initialize the log4j config you 
prevent us from being able to log anything in WebloggerConfig<init>, 
which can be useful for debugging how the config is initialized.

3. because log4j is not configured before we try logging a few messages, 
namely in WebloggerConfig, you always get these messages on stderr when 
the app starts up now ...

[26/Jul/2007:11:30:24] warning (  282): CORE3283: stderr: log4j:WARN No 
appenders could be found for logger (org.apache.commons.digester.Digester).
[26/Jul/2007:11:30:24] warning (  282): CORE3283: stderr: log4j:WARN 
Please initialize the log4j system properly.


I still like having us configure log4j out of our properties file, but I 
think we need to find a way to set things up so that it's guaranteed to 
be initialized before anything else.

-- Allen


snoopdave@apache.org wrote:
> Author: snoopdave
> Date: Thu Jul 26 07:31:52 2007
> New Revision: 559831
> 
> URL: http://svn.apache.org/viewvc?view=rev&rev=559831
> Log:
> Implementing ROL-1491 - make log4j configurable via roller-custom.properties
> 
> Modified:
>     roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java
>     roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
>     roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java
> 
> Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java?view=diff&rev=559831&r1=559830&r2=559831
> ==============================================================================
> --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java (original)
> +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/WebloggerConfig.java Thu Jul 26 07:31:52 2007
> @@ -22,6 +22,7 @@
>  import java.io.FileInputStream;
>  import java.io.InputStream;
>  import java.util.Enumeration;
> +import java.util.Iterator;
>  import java.util.Properties;
>  import org.apache.commons.logging.Log;
>  import org.apache.commons.logging.LogFactory;
> @@ -203,7 +204,20 @@
>      public static Enumeration keys() {
>          return mConfig.keys();
>      }
> -   
> +    
> +    
> +    /**
> +     * Get properties starting with a specified string.
> +     */
> +    public static Properties getPropertiesStartingWith(String startingWith) {
> +        Properties props = new Properties();
> +        for (Enumeration it = mConfig.keys(); it.hasMoreElements();) {
> +            String key = (String)it.nextElement();
> +            props.put(key, mConfig.get(key));
> +        }
> +        return props;
> +    }
> +    
>  
>      /**
>       * Set the "uploads.dir" property at runtime.
> 
> Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties?view=diff&rev=559831&r1=559830&r2=559831
> ==============================================================================
> --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties (original)
> +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/config/roller.properties Thu Jul 26 07:31:52 2007
> @@ -54,6 +54,7 @@
>  # -- Rendering system
>  # -- Weblog ping system
>  # -- Pluggable backend, page and editor plugins
> +# -- Log4j logging settings
>  # -- Other settings
>  # -- Experimental, deprecated and "undocumented" settings
>  
> @@ -579,6 +580,39 @@
>  
>  # Set to true to allow only default topic tag site (and avoid costly bookmark queries)
>  plugins.topictag.ignoreBookmarks=true
> +
> +
> +#-----------------------------------------------------------------------------
> +# Log4j logging settings
> +#-----------------------------------------------------------------------------
> +
> +log4j.rootCategory=INFO, roller
> +
> +log4j.appender.roller=org.apache.log4j.DailyRollingFileAppender
> +log4j.appender.roller.File=${catalina.base}/logs/roller.log
> +log4j.appender.roller.layout=org.apache.log4j.PatternLayout
> +log4j.appender.roller.layout.ConversionPattern=%-5p %d{yyyy-MM-dd HH:mm:ss,SSS} %C{1}:%M - %m%n
> +
> +# Options are: DEBUG, INFO, WARN, ERROR, FATAL
> +# Roller code
> +log4j.category.org.apache.roller=INFO
> +log4j.category.net.java.roller=INFO
> +
> +# Roller dependent libraries
> +log4j.category.org.hibernate=INFO
> +log4j.category.org.apache.struts2=INFO
> +# the struts2 file upload stuff has some overly verbose messaging
> +log4j.category.org.apache.struts2.interceptor.FileUploadInterceptor=WARN
> +log4j.category.org.springframework=WARN
> +log4j.category.org.acegisecurity=ERROR
> +# Velocity talks a lot, so by default it is set to STFU mode
> +log4j.category.org.apache.velocity=FATAL
> +
> +# Roller extras
> +log4j.category.com.ecyrd.jspwiki=ERROR
> +log4j.category.org.tuckey.web.filters.urlrewrite=DEBUG
> +log4j.category.com.opensymphony.oscache=ERROR
> +log4j.category.com.danga.MemCached=WARN
>  
>  
>  #-----------------------------------------------------------------------------
> 
> Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java
> URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java?view=diff&rev=559831&r1=559830&r2=559831
> ==============================================================================
> --- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java (original)
> +++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java Thu Jul 26 07:31:52 2007
> @@ -32,6 +32,7 @@
>  import org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint;
>  import org.apache.commons.logging.Log;
>  import org.apache.commons.logging.LogFactory;
> +import org.apache.log4j.PropertyConfigurator;
>  import org.apache.roller.planet.business.GuicePlanetProvider;
>  import org.apache.roller.weblogger.WebloggerException;
>  import org.apache.roller.weblogger.business.BootstrapException;
> @@ -82,6 +83,10 @@
>          // context files specified in web.xml. This is necessary because
>          // listeners don't initialize in the order specified in 2.3 containers
>          super.contextInitialized(sce);
> +        
> +        // Initialize logging subsystem via WebloggerConfig
> +        Properties log4jprops = new Properties();
> +        PropertyConfigurator.configure(WebloggerConfig.getPropertiesStartingWith("log4j."));
>          
>          // get the *real* path to <context>/resources
>          String ctxPath = servletContext.getRealPath("/");
> 
>