java - Duplicated log4j output during JUnit test -
we have implemented log4j console logger following log4j.properties file:
# set root logger level info , appender default. log4j.rootcategory=info, default # default set consoleappender. log4j.appender.default=org.apache.log4j.consoleappender # default uses patternlayout. log4j.appender.default.layout=org.apache.log4j.patternlayout log4j.appender.default.layout.conversionpattern=%-4r [%t] %-5p %c %x - %m%n log4j.logger.org.hibernate=error while executing program in eclipse works fine, when start 1 of our junit tests, calls parts of program loggers, duplicated logger output on eclipse console. despite doesn't influence our tests still easier read logger informations if wouldn't duplicated.
this how configure log4j first time use:
public consoletextlogger(final class<?> clazz) { super(); this.logger = logger.getlogger(clazz.getname()); // loads configuration file , configures log4j logging framework if (loggerlogger == null) { url url = getclass().getresource("log4j.properties"); propertyconfigurator.configure(url); } } this how use logger in 1 of our junit classes:
public class testclass1 { @beforeclass public static void setup() { testsetuputility.loadpath(); } // tests } testsetuputility sets need different tests.
public class testsetuputility { /** * class specific logger. */ protected static final consoletextlogger logger = new consoletextlogger(testsetuputility.class); } any ideas of cause such phenomena , why when running junit tests? in advance or pointers.
ok found problem ... during junit test switched logger level level.debug , method responsible switching logger level called following method basicconfigurator.configure(); creates second basic logger. after removing method call duplicated logging gone.
Comments
Post a Comment