java - multiple unrelated log files with log4j and commons logging -
i want app have 4 log files. 3 of log files typical log4j info, warn , error logs. 4th log file unrelated , used log data.
my log4j.properties file looks this:
log4j.threshold=all log4j.rootlogger=all, infoappender, warnappender, errorappender log4j.data_logger=info, dataappender log4j.additivity.data_logger = false  log4j.appender.dataappender=org.apache.log4j.dailyrollingfileappender log4j.appender.dataappender.file=/app_logs/data.log  log4j.appender.infoappender=org.apache.log4j.dailyrollingfileappender log4j.appender.infoappender.file=/app_logs/info.log  log4j.appender.warnappender=org.apache.log4j.dailyrollingfileappender log4j.appender.warnappender.file=/app_logs/warn.log  log4j.appender.errorappender=org.apache.log4j.dailyrollingfileappender log4j.appender.errorappender.file=/app_logs/error.log   and java code looks this:
import org.apache.commons.logging.log; import org.apache.commons.logging.logfactory;  private static final log log = logfactory.getlog(someclassinmyapp.class); private static final log data_log = logfactory.getlog("data_logger");  private static void foo() {     log.info("hello");     data_log.info("some data"); }   when run this, "hello" text correctly written info.log file. data.log file never created or written to.
why data_log.info("some data") line not writing data.log file, , code change need make in order happen?
commons should work well, can try this
   import org.apache.log4j.logger;    ...    ...    logger log = logger.getlogger("data_logger");    ...    ...    log.info("my data");   instead of
   import org.apache.commons.logging.log;   update tested code works:
log4j.properties
log4j.rootlogger = debug, r  log4j.appender.r=org.apache.log4j.dailyrollingfileappender log4j.appender.r.file=e:/testroot.log  log4j.appender.r.layout=org.apache.log4j.patternlayout log4j.appender.r.layout.conversionpattern=%d{date} %-5p %c:%l %x - %m%n   ########################################################################## ################## appender other logger  ############################ ########################################################################## log4j.logger.testlog=debug, cache log4j.additivity.testlog=false  log4j.appender.cache=org.apache.log4j.dailyrollingfileappender log4j.appender.cache.file=e:/testcache.log log4j.appender.cache.layout=org.apache.log4j.patternlayout log4j.appender.cache.layout.conversionpattern=%d{dd/mm/yyyy hh:mm:ss} %c %m%n   test code
private static final logger data_log = logger.getlogger("testlog"); private static final logger log = logger.getlogger(test.class);  public static final void main(string[] args){     log.error("msg1");     data_log.error("msg2"); }   output
testroot.log 09 feb 2011 12:18:29,671 error in.naishe.so.test:11  - msg1  testcache.log 09/02/2011 12:18:29 testlog msg2   are missing something?
Comments
Post a Comment