<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <base href="http://jira.qos.ch" />
<title>Message Title</title>
</head>
<body class="jira" style="color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429">
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<!-- header here -->
<tr>
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px"> <img id="header-avatar-image" class="image_fix" src="cid:jira-generated-image-avatar-fa283334-239f-469c-b950-3b31d16941fe" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" />
</td>
<td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="idubinin" id="email_idubinin" href="http://jira.qos.ch/secure/ViewProfile.jspa?name=idubinin" style="color:#3b73af;; color: #3b73af; text-decoration: none">Illia Dubinin</a> <strong>created</strong> an issue
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px">
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-spacing: 0; border-collapse: separate">
<tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly">
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="page-title-pattern-first-line " style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"> <a href="http://jira.qos.ch/browse/LOGBACK" style="color: #3b73af; text-decoration: none">logback</a> / <a href="http://jira.qos.ch/browse/LOGBACK-1131" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-static-bug-7795f7a3-b644-4d38-8197-32cd3b2ba573" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /></a> <a href="http://jira.qos.ch/browse/LOGBACK-1131" style="color: #3b73af; text-decoration: none">LOGBACK-1131</a>
</td>
</tr>
<tr>
<td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="http://jira.qos.ch/browse/LOGBACK-1131" style="color: #3b73af; text-decoration: none">RollingFileAppender rewrites previous day log, when second instance of application starts near the midnight</a> </span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand wrapper-special-margin" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 10px; padding-bottom: 5px">
<table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Issue Type:
</th>
<td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-bug-7795f7a3-b644-4d38-8197-32cd3b2ba573" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /> Bug
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Affects Versions:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
1.1.4
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Assignee:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="logback-dev@qos.ch" id="email_logback-dev@qos.ch" href="http://jira.qos.ch/secure/ViewProfile.jspa?name=logback-dev%40qos.ch" style="color:#3b73af;; color: #3b73af; text-decoration: none">Logback dev list</a>
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Components:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
logback-classic
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Created:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
15/Feb/16 2:00 PM
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Labels:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
rollingFileappender
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Priority:
</th>
<td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-critical-4de5cc06-0ddb-48af-a33e-7a5d632e0924" height="16" width="16" border="0" align="absmiddle" alt="Critical" style="vertical-align: text-bottom" /> Critical
</td>
</tr>
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Reporter:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="idubinin" id="email_idubinin" href="http://jira.qos.ch/secure/ViewProfile.jspa?name=idubinin" style="color:#3b73af;; color: #3b73af; text-decoration: none">Illia Dubinin</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand issue-description-container" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 5px; padding-bottom: 10px">
<table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tr>
<td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0">
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Hello Logback team,</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">We have an issue with logback:<br /> We start our application with cron few times a day, and we have missed logs due to following problem:<br /> We usually check whether application already started in the begin of launch and log an error (it might mean, that something goes wrong or something took more time, that it should) if it's already started.<br /> When this situation happens with end of day launching and second instance try to start at 00:05 for example, we have only log with this error for previous day.</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">How to reproduce:</p>
<div class="code panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
<div class="codeContent panelContent" style="padding: 9px 12px">
<pre class="code-java" style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
<span class="code-keyword" style="color: #000091">package</span> logback.test.concurrent;
<span class="code-keyword" style="color: #000091">import</span> java.io.File;
<span class="code-keyword" style="color: #000091">import</span> java.io.IOException;
<span class="code-keyword" style="color: #000091">import</span> org.slf4j.Logger;
<span class="code-keyword" style="color: #000091">import</span> org.slf4j.LoggerFactory;
<span class="code-keyword" style="color: #000091">public</span> class Test {
<span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">static</span> Logger logger = LoggerFactory.getLogger(Test.class);
<span class="code-keyword" style="color: #000091">public</span> <span class="code-keyword" style="color: #000091">static</span> void main(<span class="code-object" style="color: #910091">String</span>[] args) {
File check = <span class="code-keyword" style="color: #000091">new</span> File(<span class="code-quote" style="color: #009100">"./lock"</span>);
<span class="code-keyword" style="color: #000091">if</span> (!check.exists()) {
<span class="code-keyword" style="color: #000091">try</span> {
check.createNewFile();
} <span class="code-keyword" style="color: #000091">catch</span> (IOException e) {
logger.error(<span class="code-quote" style="color: #009100">"Failed to create file: {}"</span>, e);
}
} <span class="code-keyword" style="color: #000091">else</span> {
logger.error(<span class="code-quote" style="color: #009100">"Faile already exists"</span>);
<span class="code-object" style="color: #910091">System</span>.exit(1);
}
<span class="code-keyword" style="color: #000091">while</span> (<span class="code-keyword" style="color: #000091">true</span>) {
logger.warn(<span class="code-quote" style="color: #009100">"event"</span>);
<span class="code-keyword" style="color: #000091">try</span> {
<span class="code-object" style="color: #910091">Thread</span>.sleep(10000);
} <span class="code-keyword" style="color: #000091">catch</span> (InterruptedException e) {
logger.error(<span class="code-quote" style="color: #009100">"Interrupted exception occured: {}"</span>, e);
}
}
}
}
</pre>
</div>
</div>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Logback configuration:</p>
<div class="code panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
<div class="codeContent panelContent" style="padding: 9px 12px">
<pre class="code-xml" style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
<span class="code-tag" style="color: #000091"><?xml version=<span class="code-quote" style="color: #009100">"1.0"</span> encoding=<span class="code-quote" style="color: #009100">"UTF-8"</span>?></span>
<span class="code-tag" style="color: #000091"><included></span>
<span class="code-tag" style="color: #000091"><property name=<span class="code-quote" style="color: #009100">"root.log.filename"</span> value=<span class="code-quote" style="color: #009100">"test.log"</span> /></span>
<span class="code-tag" style="color: #000091"><property name=<span class="code-quote" style="color: #009100">"common.log.file.date.pattern"</span> value=<span class="code-quote" style="color: #009100">"yyyy-MM-dd"</span> /></span>
<span class="code-tag" style="color: #000091"><property name=<span class="code-quote" style="color: #009100">"common.log.conversionpattern"</span> value=<span class="code-quote" style="color: #009100">"[%d{'yyyy-MM-dd HH:mm:ss,SSS'}] [test] [%X{username}] [%t] [%c{0}][%marker] [%p] - %m%n"</span> /></span>
<span class="code-tag" style="color: #000091"><appender name=<span class="code-quote" style="color: #009100">"LOGFILE"</span> class=<span class="code-quote" style="color: #009100">"ch.qos.logback.core.rolling.RollingFileAppender"</span>></span>
<span class="code-tag" style="color: #000091"><file></span>/PATH/TO/LOGS/${root.log.filename}<span class="code-tag" style="color: #000091"></file></span>
<span class="code-tag" style="color: #000091"><rollingPolicy class=<span class="code-quote" style="color: #009100">"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"</span>></span>
<span class="code-tag" style="color: #000091"><fileNamePattern></span>/PATH/TO/LOGS/${root.log.filename}.%d{${common.log.file.date.pattern}}<span class="code-tag" style="color: #000091"></fileNamePattern></span>
<span class="code-tag" style="color: #000091"></rollingPolicy></span>
<span class="code-tag" style="color: #000091"><encoder></span>
<span class="code-tag" style="color: #000091"><pattern></span>${common.log.conversionpattern}<span class="code-tag" style="color: #000091"></pattern></span>
<span class="code-tag" style="color: #000091"></encoder></span>
<span class="code-tag" style="color: #000091"></appender></span>
<span class="code-tag" style="color: #000091"><root level=<span class="code-quote" style="color: #009100">"INFO"</span>></span>
<span class="code-tag" style="color: #000091"><appender-ref ref=<span class="code-quote" style="color: #009100">"LOGFILE"</span> /></span>
<span class="code-tag" style="color: #000091"></root></span>
<span class="code-tag" style="color: #000091"></included></span>
</pre>
</div>
</div>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">To reproduce you have to run the first instance before midnight (I tried at 23:59).<br /> Run second instance at midnight (before event appeared in log from first instance).<br /> Wait a bit, while first instance write new event.</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Now you can stop it and you will have two files:<br /> test.log:</p>
<div class="code panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
<div class="codeContent panelContent" style="padding: 9px 12px">
<pre class="code-java" style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
[2016-02-13 00:00:03,069] [test] [] [main] [Test][] [WARN] - event
</pre>
</div>
</div>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">test.log.2016-02-12:</p>
<div class="code panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
<div class="codeContent panelContent" style="padding: 9px 12px">
<pre class="code-java" style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
[2016-02-13 00:00:02,280] [test] [] [main] [Test][] [ERROR] - Faile already exists
</pre>
</div>
</div>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">What happens, as I understand:<br /> The first instance writes log normally until midnight.<br /> When the second instance started it renames log file to previous day and creates new one; writes event.<br /> When next event produced by the first instance, it renames log file to previous day (and rewrites existed, created by the second instance) and creates new log file.<br /> The first instance continues to write into new log file.</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">I've reproduce it on 1.0.13, 1.1.3 and 1.1.4</p>
<p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Thanks,<br /> Illia Dubinin</p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tr>
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"> <a href="http://jira.qos.ch/browse/LOGBACK-1131#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-211805d1-e488-41bc-9ce4-8b2c80ec2660" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle" /> </a>
</td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="http://jira.qos.ch/browse/LOGBACK-1131#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<!-- there needs to be content in the cell for it to render in some clients -->
<tr>
<td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #fff; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
This message was sent by Atlassian JIRA <span id="footer-build-information">(v6.4.12#64027-<span title="e3691cc1283c0f3cef6d65d3ea82d47743692b57" data-commit-id="e3691cc1283c0f3cef6d65d3ea82d47743692b57}">sha1:e3691cc</span>)</span>
</td>
<td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top">
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-b29863c1-d7be-4106-a41a-d5afe62e2128" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>