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