<div dir="ltr">Hi Dave,<div><br></div><div>Thanks for the suggestion.</div><div>I will change the code accordingly and let you know the outcome.</div><div><br></div><div>Regards,</div><div>Mayuran</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 17, 2015 at 11:44 PM, David Roussel <span dir="ltr"><<a href="mailto:nabble@diroussel.xsmail.com" target="_blank">nabble@diroussel.xsmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Mayuran,<div><br></div><div>You can add FINALIZE_SESSION_MARKER to the MDC to trigger the sub-appender to be cleaned up.  This is documented in <a href="http://logback.qos.ch/manual/appenders.html" target="_blank">http://logback.qos.ch/manual/appenders.html</a></div><div><br></div><div>Once you do that the sub-appender goes into lingering state for 10 seconds, then the appender will be closed after that.</div><div><br></div><div>Dave</div><div><div class="h5"><div><br><div><blockquote type="cite"><div>On 17 May 2015, at 10:50, mayuran satchithanantham <<a href="mailto:mayuran19@gmail.com" target="_blank">mayuran19@gmail.com</a>> wrote:</div><br><div><div dir="ltr">Hi David, <div><br></div><div>Thanks for the prompt reply.</div><div>If you remember the way to trigger the closing of appender, please let me know.</div><div><br></div><div>Regards,</div><div>Mayuran</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 17, 2015 at 5:46 PM, David Roussel <span dir="ltr"><<a href="mailto:nabble@diroussel.xsmail.com" target="_blank">nabble@diroussel.xsmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Hi Mayuran,</div><div><br></div><div>The logic controlling this is in ch.qos.logback.core.sift.AppenderTracker I seem to remember I’ve had problems with this in the past, but I don’t remember the details now.  It’s controlled by a timeout.  Maybe there should be an explicit way to trigger the closing of an appender controlled by the sifting logic.</div><div><br></div><div>David</div><br><div><blockquote type="cite"><div><div><div>On 17 May 2015, at 09:44, mayuran satchithanantham <<a href="mailto:mayuran19@gmail.com" target="_blank">mayuran19@gmail.com</a>> wrote:</div><br></div></div><div><div><div><div dir="ltr"><div style="font-size:14px;font-family:'Open Sans',sans-serif;margin:0px;padding:0px;line-height:22px">Hi logback geeks,</div><div style="font-size:14px;font-family:'Open Sans',sans-serif;margin:0px;padding:0px;line-height:22px"><br></div><div style="font-size:14px;font-family:'Open Sans',sans-serif;margin:0px;padding:0px;line-height:22px">We are using logback "SiftingAppender" for generating the log files based on the date and other information such as cycle(Each date can have multiple cycles).<br style="font-family:inherit"><br style="font-family:inherit">Following are the sample logging file names<br style="font-family:inherit"><br style="font-family:inherit">20150515_1_Job1.log<br style="font-family:inherit">20150515_2_Job1.log<br style="font-family:inherit"><br style="font-family:inherit">For the above scenario we are using the following logback configuration.<br style="font-family:inherit"></div><br><div><span style="color:rgb(11,55,77);font-family:Courier,monospace;font-size:11px;line-height:16px;white-space:pre-wrap;background-color:rgb(249,251,253)"><appender name="BATCH_LOGGER_APPENDER" class="ch.qos.logback.classic.sift.SiftingAppender">
    <discriminator>
        <key>batchLoggerFileName</key>
        <defaultValue>unknown</defaultValue>
    </discriminator>
    <sift>
        <appender class="ch.qos.logback.core.FileAppender">
            <file>${batchlog.dir}/${batchLoggerFileName}.log</file>
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} | %-5level | [%thread] | %msg%n%rEx</pattern>
            </layout>
        </appender>
    </sift>
</appender>

<logger name="BATCH_LOGGER" level="INFO" additivity="false">
    <appender-ref ref="BATCH_LOGGER_APPENDER"></appender-ref>
</logger></span><br></div><div><span style="color:rgb(11,55,77);font-family:Courier,monospace;font-size:11px;line-height:16px;white-space:pre-wrap;background-color:rgb(249,251,253)"><br></span></div><div><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px">Following is the java code for logging the details to the specific logs files.</span><span style="color:rgb(11,55,77);font-family:Courier,monospace;font-size:11px;line-height:16px;white-space:pre-wrap;background-color:rgb(249,251,253)"><br></span></div><div><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px"><br></span></div><div><span style="color:rgb(11,55,77);font-family:Courier,monospace;font-size:11px;line-height:16px;white-space:pre-wrap;background-color:rgb(249,251,253)">private static final Logger BATCH_LOGGER = LoggerFactory
        .getLogger("BATCH_LOGGER");

public void info(JobInfo jobInfo, String message) {
    MDC.put("batchLoggerFileName", jobInfo.getJobId());
    BATCH_LOGGER.info(message);
    MDC.remove("batchLoggerFileName");
}</span><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px"><br></span></div><div><span style="color:rgb(11,55,77);font-family:Courier,monospace;font-size:11px;line-height:16px;white-space:pre-wrap;background-color:rgb(249,251,253)"><br></span></div><div><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px">We have some other jobs that do the housekeeping of the old log files with the retention of 2 days(Two day old files will be moved to another location).</span><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px">But even after the job completes, we are not able to move the file. We suspect that logback is holding the resource and not letting the file to move or delete.</span><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px">All the jobs are deployed in a single war file in apache tomcat 8 server.</span><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px">Can anyone suggest how to enforce logback to release the resource after logging is completed?</span><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px">Regards,</span><br style="font-size:14px;font-family:'Open Sans',sans-serif;line-height:22px"><span style="font-family:'Open Sans',sans-serif;font-size:14px;line-height:22px">Mayuran</span><span style="color:rgb(11,55,77);font-family:Courier,monospace;font-size:11px;line-height:16px;white-space:pre-wrap;background-color:rgb(249,251,253)"><br></span></div></div></div></div>
_______________________________________________<br>Logback-user mailing list<br><a href="mailto:Logback-user@qos.ch" target="_blank">Logback-user@qos.ch</a><br><a href="http://mailman.qos.ch/mailman/listinfo/logback-user" target="_blank">http://mailman.qos.ch/mailman/listinfo/logback-user</a></div></blockquote></div><br></div><br>_______________________________________________<br>
Logback-user mailing list<br>
<a href="mailto:Logback-user@qos.ch" target="_blank">Logback-user@qos.ch</a><br>
<a href="http://mailman.qos.ch/mailman/listinfo/logback-user" target="_blank">http://mailman.qos.ch/mailman/listinfo/logback-user</a><br></blockquote></div><br></div>
_______________________________________________<br>Logback-user mailing list<br><a href="mailto:Logback-user@qos.ch" target="_blank">Logback-user@qos.ch</a><br><a href="http://mailman.qos.ch/mailman/listinfo/logback-user" target="_blank">http://mailman.qos.ch/mailman/listinfo/logback-user</a></div></blockquote></div><br></div></div></div></div><br>_______________________________________________<br>
Logback-user mailing list<br>
<a href="mailto:Logback-user@qos.ch">Logback-user@qos.ch</a><br>
<a href="http://mailman.qos.ch/mailman/listinfo/logback-user" target="_blank">http://mailman.qos.ch/mailman/listinfo/logback-user</a><br></blockquote></div><br></div>