Tuesday, August 11, 2009

How to create multiple log files in single application?

1.

Log4JDemo1 :


package com.test.stuff;

import org.apache.log4j.Logger;

public class Log4JDemo1 {

static Logger log = Logger.getLogger("com.test.stuff.Log4JDemo1");
// use either of log object
//static Logger log1 = Logger.getLogger(Log4JDemo1.class);

public void getMessage() {
log.debug("This is my debug message.");
log.info("This is my info message.");
log.warn("This is my warn message.");
log.error("This is my error message.");
log.fatal("This is my fatal message.");
}

}
------------------------------------------

2.

Log4JDemo2 :

package com.test.stuff;

import org.apache.log4j.Logger;


public class Log4JDemo2 {

static Logger log = Logger.getLogger("com.test.stuff.Log4JDemo2");
// use either of log object
//static Logger log1 = Logger.getLogger(Log4JDemo2.class);

public void getMessage() {
log.debug("This is my debug message.");
log.info("This is my info message.");
log.warn("This is my warn message.");
log.error("This is my error message.");
log.fatal("This is my fatal message.");
}

}

---------------------------------------------

3.

Test Log 4 j Client:


package com.test.stuff;

public class TestLogClient {

/**
* @param args
*/
public static void main(String[] args) {
Log4JDemo1 demo1 = new Log4JDemo1();
Log4JDemo2 demo2 = new Log4JDemo2();
demo1.getMessage();
demo2.getMessage();

}

}
-------------------------------------

4. Log4j.properties

# Categories
log4j.category.com.test.stuff.Log4JDemo1=WARN,Log4JDemo1WarnAppender

log4j.category.com.test.stuff.Log4JDemo2=FATAL,Log4JDemo2WarnAppender

log4j.appender.Log4JDemo1WarnAppender=org.apache.log4j.RollingFileAppender
log4j.appender.Log4JDemo1WarnAppender.File=log4Jdemo1warnappender.log
log4j.appender.Log4JDemo1WarnAppender.MaxFileSize=10KB
log4j.appender.Log4JDemo1WarnAppender.MaxBackupIndex=10
log4j.appender.Log4JDemo1WarnAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.Log4JDemo1WarnAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m%n

log4j.appender.Log4JDemo2WarnAppender=org.apache.log4j.RollingFileAppender
log4j.appender.Log4JDemo2WarnAppender.File=log4Jdemo2warnappender.log
log4j.appender.Log4JDemo2WarnAppender.MaxFileSize=10KB
log4j.appender.Log4JDemo2WarnAppender.MaxBackupIndex=10
log4j.appender.Log4JDemo2WarnAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.Log4JDemo2WarnAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m%n



----------------------------------------------------

above properties will create 2 log files one will append all messages(of class Log4JDemo1) above of Waring(warn,error,fatal) and other will append FATAL messages(of class Log4JDemo2) .


Regards,
Santosh

No comments:

Post a Comment