How many servlets do you have? You could try: xLog = getLogger(ServletY.getClass().getName()); Then make one appender per servlet.
Are you saying that you want the class X to log to the log of the servlet that called it? James Stauffer -----Original Message----- From: Horry, Adam J [mailto:[EMAIL PROTECTED] Sent: Friday, June 11, 2004 12:06 PM To: [EMAIL PROTECTED] Subject: Separate log file per servlet The web server is configured to be one JVM for all the servlets. Numerous people are developing different classes. We want each Servlet to write to its own log. Class X { ... xLog = getLogger( "DEBUG" ); ... xLog.info( "message" ); ... } Class ServletY extends HttpServlet { ... xLog = getLogger( "DEBUG" ); ... configureAndWatch( ); ... xLog.info( "message" ); ... someMethod() { new X(); } } Class ServletZ extends HttpServlet { ... xLog = getLogger( "DEBUG" ); ... configureAndWatch( ); ... xLog.info( "message" ); ... someMethod() { new X(); } ... } log4j.properties: ... Logger name="DEBUG" Appender A ... Appender A ... Class A extends DailyRollingFileAppender { String _file = null; a( ) { super.init(); setFile( "" ); } setFile( aFile ) { // Throw stack trace to figure out which servlet called you ... // add path and .log to get filename like /tmp/ServletY.log or // /tmp/ServletZ.log _file = "newFile"; } } Now the problem: When the first servlet comes up, say ServletY, it configures and creates /tmp/ServletY.log. ServletY and X write to the file and everyone is happy. Now the next servlet comes up, say ServletZ. It configures and creates /tmp/ServletX.log. Now everything writes to this log but not the other. So I guess what I am looking for is how I can I do logging on a servlet basis that writes to a particular log. The various support classes need to call something generic because they do not know which specific servlet called them. Thanks, Adam [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
