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

Popular posts from this blog

python - Scipy curvefit RuntimeError:Optimal parameters not found: Number of calls to function has reached maxfev = 1000 -

c# - How to add a new treeview at the selected node? -

java - netbeans "Please wait - classpath scanning in progress..." -