Hello,
1) My first question is where you are trying to load your property file?
2) Push your log4j.properties to WEB-INF/classes.
First load your property file:
-----------------------------
LogManager.java
---------------
package com.examples;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class LogManager{
static
{
// initializes the log4j stuff
try{
Properties prop = new Properties();
InputStream is = LogManager.class.getResourceAsStream (log4j.properties);
prop.load(is);
PropertyConfigurator.configure(prop);
}catch(Exception ex){
ex.printStackTrace();
}
}
public Logger getLogger(Class arg0){
return Logger.getLogger(arg0);
}
}
log4j.properties
----------------
# Set root logger level to DEBUG and its only appender to stdout
log4j.rootLogger=INFO, filer
log4j.category.org.apache.jk.common.ChannelSocket=DEBUG, filer
# stdout is set to be a RollingFileAppender
log4j.appender.filer=org.apache.log4j.RollingFileAppender
log4j.additivity.org.apache.jk.common.ChannelSocket=false
# stdout uses PatternLayout
log4j.appender.filer=org.apache.log4j.RollingFileAppender
log4j.appender.filer.layout=org.apache.log4j.PatternLayout
log4j.appender.filer.layout.ConversionPattern=%d{MMM dd HH:mm:ss} %-5p [%t] %c{2} - %m%n
log4j.appender.filer.File=C:/test.log
log4j.appender.filer.MaxFileSize=100KB
log4j.appender.filer.MaxBackupIndex=4
Then your custom class it may be a servlet or a plain
java class,
package com.examples;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.lf5.LogLevel;
public class LogExample {
public static void main(
String[] args) throws Exception{
LogManager manager = new LogManager();
Logger log = manager.getLogger(LogExample.class);
//log.setLevel(LogLevel.INFO);
log.info("Test1");
}
}
Hope it will help you. Thanks!
/Sirish