I know this can be done, but I can't figure out how to configure
log4j.properties to send log messages from libraries/packages to
separate streams. I get all of my output in one log file.

I've read all of "The complete log4j manual" by Ceki Gülcü, and just
don't get it.
I want all msgs from com.baz.* to go one place,
all msgs from com.foo.* to go to another
all from net.sourceforge.stripes to go to a third.

the log4j file looks like:

   1. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
   2. log4j.appender.stdout.Target=System.out
   3. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
   4. log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p
%c{1}:%L - %m%n
   5.
   6. log4j.appender.baz=org.apache.log4j.FileAppender
   7. log4j.appender.baz.File=/tmp/baz.log
   8.
   9. log4j.appender.stripesfile=org.apache.log4j.FileAppender
  10. log4j.appender.stripesfile.File=/tmp/stripes.log
  11.
  12. log4j.appender.foo=org.apache.log4j.FileAppender
  13. log4j.appender.foo.File=/tmp/foo.log
  14. log4j.rootLogger=INFO, stdout, base
  15. log4j.logger.net.sourceforge.stripes=DEBUG, stdout, stripesfile
  16. log4j.logger.com.foo=DEBUG, stdout, fnfbookfile
  17. log4j.logger.com.baz=DEBUG, stdout, fnfbookfile


When I test it, it all goes to the same place

Test code looks like:


   1.         Logger aLog =
Logger.getLogger("net.sourceforge.stripes.action.Resolution");
   2.         aLog.error("this is an error");
   5.         Logger cLog = Logger.getLogger("com.foo.busobj.Address");
   6.         cLog.error("this is an error address");
   7.         Logger dLog =
Logger.getLogger("com.baz.database.DBConnectionPool");
   8.         dLog.error("this is an error DBConnPool");


Thanks

-- 
Pat Farrell
http://www.pfarrell.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to