Log4j distinguishes between Loggers and Appenders for a good reason: - Loggers define WHAT is logged (level, source) - Appenders define WHERE the log statement goes (console, file, etc.) and how it is formatted You want to have a new file for each new thread, so this is an appender issue which you cannot solve by creating a new appender. Of course you can create a Logger as you suggested, but then you have to pass this logger instance along your callstack (or make it globally accessible in the current thread context). If you do so you will loose most of the benefits which log4j offers. You implement then something like your own logging framework, a thing which to avoid was the main goal of inventing log4j. Follow the suggestion of Jake Kjome to search after this discussions in this mailing list and implement your RepositorySelector, based on MDC. There were even examples posted. Heri
-----Ursprüngliche Nachricht----- Von: Kaspar Fischer [mailto:fisch...@inf.ethz.ch] Gesendet: Samstag, 2. Mai 2009 16:54 An: log4j-user@logging.apache.org Betreff: [SPAM (Bayesain Analysis)] - Log file per thread - Bayesian Filter detected spam Dear list, I am looking for a way to create a log file per thread (actually, per Quartz job that gets run). I've googled quite a bit and found a few approaches, in particular KeyFileAppender [1]. All I have seen seem to rely on the MDC and KeyFileAppender seems to have a resource leak [2]. I am wondering whether there is a simply way to programmatically create, at the beginning of my thread, a logger with a given name and closing it at the end of the thread. Has anybody accomplished something like this? public void run() { String id = ...; // thread name or whatever Logger logger = ...; // Create a logger with a basename and the id try { // ... } finally { logger.close(); // Something like this is needed to make sure // old logs do not keep hanging around } } Many thanks, Kaspar [1] https://issues.apache.org/bugzilla/show_bug.cgi?id=19597 [2] http://www.mail-archive.com/log4j-user@logging.apache.org/msg07295.html --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org