<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;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 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;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
.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 should have mentioned that I’ve already read that page, and multiple times.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">My question about “queueSize” is specific to memory allocation.  I understand the blocking behavior.  When I saw that the default value was 256, and my team was proposing a value of 100000, I wanted to be sure that didn’t have any unexpected
 consequences, like if that number represents the relative size of a pre-allocated buffer, that would be unexpected.  I think this is unlikely, but the documentation doesn’t say anything about this.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Concerning “includeCallerData”, so it consists of the file and line of the caller. I see in the documentation for PatternLayout. I assume this is potentially the only way that information would be utilized?<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>David Roussel<br>
<b>Sent:</b> Saturday, May 22, 2021 12:07 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">Hi David,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">As documented in <a href="https://urldefense.com/v3/__http:/logback.qos.ch/manual/appenders.html__;!!BhdT!07aKoZX2Fw7v5BkqgjGU20O5MKOiqa0FwqVQttt4o3lHAOG49nbJiefncP1bJg$">http://logback.qos.ch/manual/appenders.html</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The queue in async appender is a blocking queue. So if it fills up, then the application code will block until there is space in the queue. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Burg that blocking will only occur for error messages as mentioned in the above linked page;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">> <span style="font-size:13.5pt;font-family:"Verdana",sans-serif;color:black;background:white">Note that by default,</span><code><span style="font-size:10.0pt">AsyncAppender</span></code><span style="font-size:13.5pt;font-family:"Verdana",sans-serif;color:black;background:white"> will
 drop events of level TRACE, DEBUG and INFO if its queue is 80% full. This strategy has an amazingly favorable effect on performance at the cost of event loss.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
So this is a reason to use a large queue size, if you want to avoid loosing info messages under high load. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">As for ‘ includeCallerData’, this including information about the caller of the logger, like line number and file. This takes us more memory, and not all for matters use it. <o:p></o:p></p>
<div>
<p class="MsoNormal">David<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 22 May 2021, at 04:21, KARR, DAVID <<a href="mailto:dk068x@att.com">dk068x@att.com</a>> wrote:<o:p></o:p></p>
</blockquote>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">I'm investigating what the consequences will be of changing some of our high volume logging calls to use an AsyncAppender instead of a synchronous appender.  Our services run in a k8s container, so they are ultimately writing to stdout,
 although other processes are aggregating that log output to Splunk or ELK.<br>
<br>
I understand the basic idea of what the AsyncAppender will do, but I have some questions about the impact of some property settings which I cannot find details about in the documentation.<br>
<br>
I'm mostly interested in the "queueSize" and "includeCallerData" properties. <br>
<br>
Concerning "queueSize", I know it is the limit to the size of the input queue, but how exactly is that parameter utilized?  Is any memory allocated based on that queue size at startup, or is it simply the limit of a dynamically expanding list?  The default
 queue size is apparently 256.  A team in our organization is planning to set this to a very large number, like 100000.  Obviously, there would be considerable impact if the queue really reached that size, and I understand that.<br>
<br>
Concerning "includeCallerData", I understand this even less.  How is this "caller data" used?  What does it really represent? What is the impact of this being included or not included?  I tried running tests with one service with the main high volume appender
 being set to use the sync appender, and then the async appender.  I didn't really notice any changes in the output.<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!07aKoZX2Fw7v5BkqgjGU20O5MKOiqa0FwqVQttt4o3lHAOG49nbJiecNrKH5WA$">http://mailman.qos.ch/mailman/listinfo/logback-user</a><o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>