<html xmlns:v="urn:schemas-microsoft-com:vml" 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=utf-8">
<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;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">I am now at the point of attempting to implement this listener, but I’m having trouble with it.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in">With some elisions, my logback.xml looks like this:<o:p></o:p></p>
</div>
<p class="MsoNormal"><?xml version="1.0" encoding="UTF-8"?><o:p></o:p></p>
<p class="MsoNormal"><configuration scan="true" scanPeriod="5 seconds" debug="true"><o:p></o:p></p>
<p class="MsoNormal">  <include file=".../baselogback.xml"/><o:p></o:p></p>
<p class="MsoNormal">  <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender"><o:p></o:p></p>
<p class="MsoNormal">    <appender-ref ref="STDOUT" /><o:p></o:p></p>
<p class="MsoNormal">    <listener class="net.logstash.logback.appender.listener.FailureSummaryLoggingAppenderListener"/><o:p></o:p></p>
<p class="MsoNormal">    <discardingThreshold>0</discardingThreshold><o:p></o:p></p>
<p class="MsoNormal">    <queueSize>256</queueSize><o:p></o:p></p>
<p class="MsoNormal">    <includeCallerData>false</includeCallerData><o:p></o:p></p>
<p class="MsoNormal">    <neverBlock>false</neverBlock><o:p></o:p></p>
<p class="MsoNormal">  </appender><o:p></o:p></p>
<p class="MsoNormal">  <logger name="..." level="DEBUG" additivity="false"><o:p></o:p></p>
<p class="MsoNormal">    <appender-ref ref="ASYNC"/><o:p></o:p></p>
<p class="MsoNormal">  </logger><o:p></o:p></p>
<p class="MsoNormal">  <logger name="..." level="DEBUG" additivity="false"><o:p></o:p></p>
<p class="MsoNormal">    <appender-ref ref="STDOUT"/><o:p></o:p></p>
<p class="MsoNormal">  </logger><o:p></o:p></p>
<p class="MsoNormal">  <root level="INFO"><o:p></o:p></p>
<p class="MsoNormal">    <appender-ref ref="STDOUT"/><o:p></o:p></p>
<p class="MsoNormal">  </root><o:p></o:p></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in"></configuration><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I tested the async appender before I added the listener, and it seemed to be basically working (although I’m not certain how I verify from the logs that it’s actually asynchronous).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in">I then added the listener as above.  When I start my service with this, I get the following:<o:p></o:p></p>
</div>
<p class="MsoNormal">Logging system failed to initialize using configuration from '.../logback.xml'<o:p></o:p></p>
<p class="MsoNormal">java.lang.IllegalStateException: Logback configuration error detected:
<o:p></o:p></p>
<p class="MsoNormal">ERROR in ch.qos.logback.core.joran.spi.Interpreter@5:101 - no applicable action for [listener], current ElementPath  is [[configuration][appender][listener]]<o:p></o:p></p>
<p class="MsoNormal">ERROR in ch.qos.logback.core.joran.spi.Interpreter@5:101 - no applicable action for [listener], current ElementPath  is [[configuration][appender][listener]]<o:p></o:p></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in">    at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I don’t understand what is wrong here.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> logback-user <logback-user-bounces@qos.ch> <b>On Behalf Of
</b>Will Sargent<br>
<b>Sent:</b> Sunday, May 23, 2021 3:50 AM<br>
<b>To:</b> logback users list <logback-user@qos.ch><br>
<b>Subject:</b> Re: [logback-user] Looking for details about AsyncAppender properties<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">You can report failure to log with an appender listener.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://urldefense.com/v3/__https:/github.com/logstash/logstash-logback-encoder/blob/master/src/main/java/net/logstash/logback/appender/listener/FailureSummaryLoggingAppenderListener.java__;!!BhdT!zwLb2IBXPlOE_S18efHOAwlRxSrCqtisf48mb3qFZWAaIii4Z9ziT5SffDv0sA$">https://github.com/logstash/logstash-logback-encoder/blob/master/src/main/java/net/logstash/logback/appender/listener/FailureSummaryLoggingAppenderListener.java</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://urldefense.com/v3/__https:/github.com/logstash/logstash-logback-encoder__;!!BhdT!zwLb2IBXPlOE_S18efHOAwlRxSrCqtisf48mb3qFZWAaIii4Z9ziT5RNGmCTQA$">https://github.com/logstash/logstash-logback-encoder</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">On May 23, 2021, at 2:26 AM, David Roussel <<a href="mailto:nabble@diroussel.xsmail.com">nabble@diroussel.xsmail.com</a>> wrote:<o:p></o:p></p>
</blockquote>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><br>
<br>
David<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">On 23 May 2021, at 01:24, KARR, DAVID <<a href="mailto:dk068x@att.com">dk068x@att.com</a>> wrote:<o:p></o:p></p>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><o:p> </o:p></p>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">I guess that will likely be 800k for each AsyncAppender (queueSize of 100000).  That could be significant, or not.<o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><br>
That’s just for the array. The data will be bigger. But weather it’s worth it depends on the risk of data loss of logs.
<br>
<br>
And the problem with loosing log lines is that it is hard to spot. Most teams never look for missing log lines. And if they thought some were missing it would be hard to prove if and why it occurred.
<br>
<br>
So what do you use logs for? Diagnostics in case of a problem? Or do they feed MI reporting?<br>
<br>
David<br>
<br>
<br>
_______________________________________________<br>
logback-user mailing list<br>
<a href="mailto:logback-user@qos.ch">logback-user@qos.ch</a><br>
<a href="https://urldefense.com/v3/__http:/mailman.qos.ch/mailman/listinfo/logback-user__;!!BhdT!zwLb2IBXPlOE_S18efHOAwlRxSrCqtisf48mb3qFZWAaIii4Z9ziT5QylXlM7w$">http://mailman.qos.ch/mailman/listinfo/logback-user</a><o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
</body>
</html>