<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Modern Logging with SeriLog and Seq &#8211; part 2. Entry Point Logging	</title>
	<atom:link href="https://www.cognim.co.uk/modern-logging-with-serilog-and-seq-part-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cognim.co.uk/modern-logging-with-serilog-and-seq-part-2/</link>
	<description>Enterprise system implementation. Making the complex simple</description>
	<lastBuildDate>Thu, 14 Apr 2016 09:35:32 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		By: Darren Hall		</title>
		<link>https://www.cognim.co.uk/modern-logging-with-serilog-and-seq-part-2/#comment-192</link>

		<dc:creator><![CDATA[Darren Hall]]></dc:creator>
		<pubDate>Thu, 14 Apr 2016 09:35:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.cognim.co.uk/?p=5435#comment-192</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.cognim.co.uk/modern-logging-with-serilog-and-seq-part-2/#comment-191&quot;&gt;Nicholas Blumhardt&lt;/a&gt;.

Thanks Nicholas, I appreciate you taking the time to comment. I have adjusted the code to dispose of the outer property, thankfully using middleware it&#039;s easy to surround the call to the next piece of middleware with a using statement.

Also thanks for giving the community Serilog, it is an excellent product.

Darren]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.cognim.co.uk/modern-logging-with-serilog-and-seq-part-2/#comment-191">Nicholas Blumhardt</a>.</p>
<p>Thanks Nicholas, I appreciate you taking the time to comment. I have adjusted the code to dispose of the outer property, thankfully using middleware it&#8217;s easy to surround the call to the next piece of middleware with a using statement.</p>
<p>Also thanks for giving the community Serilog, it is an excellent product.</p>
<p>Darren</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Nicholas Blumhardt		</title>
		<link>https://www.cognim.co.uk/modern-logging-with-serilog-and-seq-part-2/#comment-191</link>

		<dc:creator><![CDATA[Nicholas Blumhardt]]></dc:creator>
		<pubDate>Wed, 13 Apr 2016 22:09:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.cognim.co.uk/?p=5435#comment-191</guid>

					<description><![CDATA[Hi Darren! Nice setup! :-)

There&#039;s one gotcha I think this approach might hit; &lt;code&gt;LogContext&lt;/code&gt; needs to be &quot;popped&quot; again by disposing the object that&#039;s returned from it, otherwise there&#039;s the potential for space leaks (*not always).

E.g.:

&lt;code&gt;var pushed = LogContext.PushProperty(&quot;Shop&quot;, siteAccessDetails.ShopName);
// Log things, then...
pushed.Dispose();&lt;/code&gt;

The * is because only the &quot;outermost&quot; property needs to be popped off, to remove any that were pushed on top of it, so you should be able to do this with only one &lt;code&gt;IDisposable&lt;/code&gt; tracked.

There&#039;s also a &lt;code&gt;PushProperties()&lt;/code&gt; method that can accept multiple &lt;code&gt;PropertyEnricher&lt;/code&gt; objects in a single call, which may simplify the &quot;popping&quot; aspect.

Cheers!]]></description>
			<content:encoded><![CDATA[<p>Hi Darren! Nice setup! 🙂</p>
<p>There&#8217;s one gotcha I think this approach might hit; <code>LogContext</code> needs to be &#8220;popped&#8221; again by disposing the object that&#8217;s returned from it, otherwise there&#8217;s the potential for space leaks (*not always).</p>
<p>E.g.:</p>
<p><code>var pushed = LogContext.PushProperty("Shop", siteAccessDetails.ShopName);<br />
// Log things, then...<br />
pushed.Dispose();</code></p>
<p>The * is because only the &#8220;outermost&#8221; property needs to be popped off, to remove any that were pushed on top of it, so you should be able to do this with only one <code>IDisposable</code> tracked.</p>
<p>There&#8217;s also a <code>PushProperties()</code> method that can accept multiple <code>PropertyEnricher</code> objects in a single call, which may simplify the &#8220;popping&#8221; aspect.</p>
<p>Cheers!</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
