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 [EMAIL PROTECTED]
Subject: Re: [logback-user] Setting log filename during runtime
To: "logback users list" [email protected]
 
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
[email protected]
http://qos.ch/mailman/listinfo/logback-user

Reply via email to