I am using the Listener Class which is consisting of few log methods as shown below to log for TestNG tests. I want only listener class logs to be printed in my console and Full logs shouls go to the FullLog file. Full logs are moving to the Full log file, but in console am getting both full logs and Listener Class logs. How do i configure the log4j property file for the same.
Listener class:
public class SimpleListener implements ITestListener {
private static Logger m_log = Logger.getLogger(SimpleListener.class);
public void onFinish(ITestContext itestcontext) {
m_log.info("onFinish() is called"); }
public void onStart(ITestContext itestcontext) {
m_log.info("onStart() is called");
}
}
my log4j Property file:
log4j.rootLogger=INFO, FullLogAppender, ConsoleAppender
log4j.logger.TestLog=INFO, BreakPointAppender
#Console Log Appender
log4j.appender.ConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.ConsoleAppender.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.ConsoleAppender.Target=System.out
#Full Log Appender
log4j.appender.FullLogAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.FullLogAppender.File=mfgLogs/FullLogs/FullLog.log
log4j.appender.FullLogAppender=org.apache.log4j.RollingFileAppender
log4j.appender.FullLogAppender.layout.ConversionPattern=%d %-5p %c %x- %m%n
log4j.appender.FullLogAppender.Append=false Dec 12 12:41:11 IST 2012
Expected Result in console:
11:29:33,159 INFO SimpleListener:15 - onStart() is called
11:29:50,372 INFO SimpleListener:31 - runTest.....
11:30:23,637 INFO SimpleListener:23 - Failed
11:30:24,402 INFO SimpleListener:12 - onFinish() is called