<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Logging on Brian Faust</title><link>https://vacua.dev/tags/logging/</link><description>Recent content in Logging on Brian Faust</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://vacua.dev/tags/logging/rss.xml" rel="self" type="application/rss+xml"/><item><title>Audit History Is Different from Application Logging</title><link>https://vacua.dev/thoughts/audit-history-is-different-from-application-logging/</link><pubDate>Wed, 01 Nov 2017 00:00:00 +0000</pubDate><guid>https://vacua.dev/thoughts/audit-history-is-different-from-application-logging/</guid><description>&lt;p&gt;When a cart appears to expire, support may ask:&lt;/p&gt;
&lt;figure class="code-figure"&gt;
 &lt;div class="code-block" data-copy-code&gt;
 &lt;button class="copy-code" type="button" aria-label="Copy code"&gt;copy&lt;/button&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Which cart changed?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;What was its prior state?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;What state followed?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Who or what caused the transition?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Which policy allowed it?&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/figure&gt;
&lt;p&gt;An engineer investigating the same report may ask:&lt;/p&gt;
&lt;figure class="code-figure"&gt;
 &lt;div class="code-block" data-copy-code&gt;
 &lt;button class="copy-code" type="button" aria-label="Copy code"&gt;copy&lt;/button&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Which request handled it?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Which worker retried?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;How long did the database call take?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Which exception and stack occurred?
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;What else happened on that host?&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/figure&gt;
&lt;p&gt;Both groups need evidence. They do not need the same record.&lt;/p&gt;</description></item><item><title>Logging Is a Workload, Not a Side Effect</title><link>https://vacua.dev/thoughts/logging-is-a-workload-not-a-side-effect/</link><pubDate>Tue, 01 Mar 2016 00:00:00 +0000</pubDate><guid>https://vacua.dev/thoughts/logging-is-a-workload-not-a-side-effect/</guid><description>&lt;p&gt;One system was writing roughly a thousand log lines per second to local disk.
Debug records were part of that stream. The individual call sites were small;
the combined stream was not.&lt;/p&gt;
&lt;p&gt;It was not cheap in aggregate. Every record still had to be constructed,
serialized, copied through handlers, written, rotated, and eventually removed
or archived. Whether anyone queried it later did not change that work.&lt;/p&gt;
&lt;p&gt;We made log levels configurable, kept debug output on internal nodes where it
was useful, and added rotation and archival. The important shift was not from
“many logs” to “few logs.” It was from treating logging as harmless commentary
to treating it as a workload with a budget.&lt;/p&gt;</description></item></channel></rss>