
Hello Jenny, Why are you setting the passing value of "logFileName" MDC? Just set it as a variable, see http://logback.qos.ch/manual/joran.html and search for "Variable substitution". HTH, Jenny wrote:
Hi, I'm not sure if this is the preferred way or best practice... but what I did was extend the RollingFileAppender and override the getFile() method.
and this getFile() method retrieves / generates the log file name.
please let me know if you have better solutions.
thanks, Jenny
============================================= From: Jenny jenny_uy81@yahoo.com Subject: Re: [logback-user] Setting log filename during runtime To: "logback users list" logback-user@qos.ch
Hello,
How can i set the log filename set during the init() of my StartupServlet.
I tried using MDC but it's not working for me.
What happens is the file is not created. Instead a file with name "%exp{logFileName}" \ is created on my web server's bin directory.
In my StartupServlet, I have this init method that calls MDC.put().
public void init() throws ServletException { MDC.put("logFileName", "c:\\testlogs\\test.log"); Logger log = LoggerFactory.getLogger(StartupServlet.class); log.info("This should be logged"); }
In my logback.xml, I have a MDC.get().
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <append>true</append> <expression name="logFileName">MDC.get("logFileName")</expression> <file>%exp{logFileName}</file> ...
I'm new with logback, thanks in advance for your help! I'm trying to follow Ceki's \ example in his blog http://ceki.blogspot.com/2006/10/repated-configuration-with-joran. \ html
thanks, jenny
_______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user
-- Ceki Gülcü Logback: The reliable, generic, fast and flexible logging framework for Java. http://logback.qos.ch