logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacob Kjome" <h...@visi.com>
Subject Re: Cannot configure apache-log4j-extras-1.0 with apache-log4j-1 for time based log rotation
Date Mon, 19 Jul 2010 17:23:49 GMT
My guess is that you have classloading issues.  What server are you using?  
I'll bet it is not configured to use child-first (a.k.a parent-last) 
classloading and that the server has a copy of log4j.jar in the server 
classpath.

In this situation, the log4j.jar in the server classpath would take precedence 
to any log4j.jar you included in WEB-INF/lib and be unable to find the 
rolling.RollingFileAppender located in the extras jar stored in WEB-INF/lib.

You can resolve this either by placing the extras jar in the server classpath 
alongside the log4j.jar already there or configure your application to use 
child-first classloading.


Jake


On Mon, 19 Jul 2010 22:27:11 +0530
  "Saurabh Agrawal" <saurabh.agrawal@criticalpath.net> wrote:
> Hi Friends,
> 
> 
> 
> Tomcat version: apache-tomcat-5.5.27 
> 
> Operating System: SunOS 10.0 / Linux
> 
> 
> 
> Problem: 
> 
> I've tried many times to configure apache-log4j-extras-1.0 with
> apache-log4j-1.2.16, but it is still failing to load classes from configure
> apache-log4j-extras-1.0 JAR file. 
> 
> What I want to do: Actually I want to do time based log rotation the my
> application specific log files. I could able to configure using
> 'net.cp.ps.sdk.util.log.DailyRollingFileAppender' class, but few problems
> are reported on Apache site for this class. 
> 
> Solution I can think of: So, I have to look for another option for
> 'net.cp.ps.sdk.util.log.DailyRollingFileAppender' class, and I found
> 'org.apache.log4j.rolling.RollingFileAppender' class and can use
> 'org.apache.log4j.rolling.TimeBasedRollingPolicy' in that. 
> 
> 
> 
> Steps I performed so far: 
> 
> 1. Downloaded apache-log4j-extras-1.0 with apache-log4j-1.2.16 JAR files
> from web. 
> 
> 2. Renamed apache-log4j-1.2.16.jar to simple 'log4j.jar'. 
> 
> 3. Copied apache-log4j-extras-1.0.jar in ~/WEB-INF/lib directory, where my
> old log4j is present. 
> 
> 4. Extracted new log4j.jar (1.2.16). 
> 
> 5. Edited the pom.xml file from new 'log4j.jar' to include
> 'apache-log4j-extras-1.0'. Steps are described here: (
> <https://wiki.jasig.org/display/UPM30/log4j.xml>
> https://wiki.jasig.org/display/UPM30/log4j.xml). 
> 
> 6. Created jar file again, after editing pom.xml. 
> 
> 7. Then I added following configuration block, in my application specific
> log-conf.xml (present in ~/WEB-INF/etc/):
> 
> <!-- Presentation Server Access log appender -->  
> 
> <appender name="access-log"
> class="org.apache.log4j.rolling.RollingFileAppender">  
> 
>      <File>WEB-INF/log-files/access.log</File>  
> 
>      <rollingPolicy
> class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
> 
> 
> <FileNamePattern>WEB-INF/log-files/access.log.%d{yyyy-MM-dd}.log</FileNamePa
> ttern> </rollingPolicy> 
> 
>      <layout class="org.apache.log4j.PatternLayout"> 
> 
>      <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss,SSS}
> [%t] %c %x%n %-5p - %m%n"/> </layout>
> 
> 
> 
> </appender> but, still I am getting following exception: 
> 
> 
> 
> 7202 [main] WARN net.cp.ps.sdk.server.ServerConfig - thread[main] Unable to
> parse invite request mappings: [The XPath='invite-requests/invite-mapping'
> does not exist] 
> 
> 7214 [main] WARN net.cp.ps.sdk.server.ServerConfig - thread[main] Unable to
> parse known profiles request mappings: [The
> XPath='known-profiles-requests/known-profiles-mapping' does not exist] 
> 
> 8114 [main] ERROR net.cp.ps.sdk.server.ServerConfig - thread[main] Missing
> configuration: couldn't find value for /ps-conf/regex-whitespace-keyword 
> 
> log4j:ERROR Could not create an Appender. Reported error follows. 
> 
> java.lang.ClassNotFoundException:
> org.apache.log4j.rolling.RollingFileAppender 
> 
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
> a:1386) 
> 
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
> a:1232) 
> 
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at
> java.lang.Class.forName0(Native Method) 
> 
> at java.lang.Class.forName(Class.java:164) at
> org.apache.log4j.helpers.Loader.loadClass(Loader.java:160) 
> 
> 
> 
> Can someone please help me with this, what's going wrong and what I am
> missing here? 
> 
> 
> 
> Thanks in advance. 
> 
> 
> 
> Regards, 
> 
> Saurabh Agrawal 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Mime
View raw message