<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi,</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am writing logs to log file in the docker image. The issue is that the logback.xml in the docker image has FileAppender instead of RollingFileAppender (as is in the standard Shibboleth install) and so the file is growing in size inside
the docker container without rolling over. Is there a reason why the docker image logback.xml is not using RollingFileAppender?</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here is the logback.xml in docker image:</p>
<p class="MsoNormal"> <!-- Process log. --></p>
<p class="MsoNormal"> <appender name="IDP_PROCESS" class="ch.qos.logback.core.FileAppender"></p>
<p class="MsoNormal"> <File>/tmp/logidp-process</File></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"></p>
<p class="MsoNormal"> <charset>UTF-8</charset></p>
<p class="MsoNormal"> <Pattern>%date{ISO8601} - %mdc{idp.remote_addr} - %level [%logger:%line] - %msg%n%ex{short}</Pattern></p>
<p class="MsoNormal"> </encoder></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <!-- Ignore Velocity status page error. --></p>
<p class="MsoNormal"> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"></p>
<p class="MsoNormal"> <evaluator></p>
<p class="MsoNormal"> <matcher></p>
<p class="MsoNormal"> <Name>VelocityStatusMatcher</Name></p>
<p class="MsoNormal"> <regex>ResourceManager\s*: unable to find resource 'status\.vm' in any resource loader\.</regex></p>
<p class="MsoNormal"> </matcher></p>
<p class="MsoNormal"> <expression>VelocityStatusMatcher.matches(formattedMessage)</expression></p>
<p class="MsoNormal"> </evaluator></p>
<p class="MsoNormal"> <OnMatch>DENY</OnMatch></p>
<p class="MsoNormal"> </filter></p>
<p class="MsoNormal"> </appender></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here is the logback.xml in Shibboleth install:</p>
<p class="MsoNormal"> <!-- Process log. --></p>
<p class="MsoNormal"> <appender name="IDP_PROCESS" class="ch.qos.logback.core.rolling.RollingFileAppender"></p>
<p class="MsoNormal"> <File>${idp.logfiles}/idp-process.log</File></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></p>
<p class="MsoNormal"> <fileNamePattern>${idp.logfiles}/idp-process-%d{yyyy-MM-dd}.log.gz</fileNamePattern></p>
<p class="MsoNormal"> <maxHistory>${idp.loghistory}</maxHistory></p>
<p class="MsoNormal"> </rollingPolicy></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"></p>
<p class="MsoNormal"> <charset>UTF-8</charset></p>
<p class="MsoNormal"> <Pattern>%date{ISO8601} - %mdc{idp.remote_addr} - %level [%logger:%line] - %msg%n%ex{short}</Pattern></p>
<p class="MsoNormal"> </encoder></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <!-- Ignore Velocity status page error. --></p>
<p class="MsoNormal"> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"></p>
<p class="MsoNormal"> <evaluator></p>
<p class="MsoNormal"> <matcher></p>
<p class="MsoNormal"> <Name>VelocityStatusMatcher</Name></p>
<p class="MsoNormal"> <regex>ResourceManager\s*: unable to find resource 'status\.vm' in any resource loader\.</regex></p>
<p class="MsoNormal"> </matcher></p>
<p class="MsoNormal"> <expression>VelocityStatusMatcher.matches(formattedMessage)</expression></p>
<p class="MsoNormal"> </evaluator></p>
<p class="MsoNormal"> <OnMatch>DENY</OnMatch></p>
<p class="MsoNormal"> </filter></p>
<p class="MsoNormal"> </appender></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards,<br>
Sunil</p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>