<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devlicio.us/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rob Reynolds - The Fervent Coder - All Comments</title><link>http://devlicio.us/blogs/rob_reynolds/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#73638</link><pubDate>Wed, 30 Jan 2013 19:25:48 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:73638</guid><dc:creator>Rob Reynolds</dc:creator><description>&lt;p&gt;@Rohan: Both log4Net and NLog support the rendering of exceptions. I take pull requests. :D&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=73638" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70781</link><pubDate>Wed, 16 Jan 2013 11:24:58 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70781</guid><dc:creator>Rohan Cragg</dc:creator><description>&lt;p&gt;Awesome indeed!&lt;/p&gt;
&lt;p&gt;Had you considered supporting an overload of .Error to pass in an Exception as a second parameter?&lt;/p&gt;
&lt;p&gt;I ask because NLog supports rendering of Exception info:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://nlog-project.org/wiki/How_to_properly_log_exceptions%3F"&gt;nlog-project.org/.../How_to_properly_log_exceptions%3F&lt;/a&gt; &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70781" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70762</link><pubDate>Thu, 10 Jan 2013 07:15:48 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70762</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;&amp;quot; Feel free to take my work and make it better.&amp;quot;&lt;/p&gt;
&lt;p&gt;Meaning, go ahead and use this solution freely in any situation possible?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70762" width="1" height="1"&gt;</description></item><item><title>re: Refresh Database–Speed up Your Development Cycles</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/12/refresh-database-speed-up-your-development-cycles.aspx#70726</link><pubDate>Thu, 20 Dec 2012 05:32:28 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70726</guid><dc:creator>Rob Reynolds</dc:creator><description>&lt;p&gt;NH version information is here: &amp;nbsp;&lt;a rel="nofollow" target="_new" href="https://github.com/chucknorris/roundhouse/wiki/Roundhouserefreshdatabasefnh"&gt;github.com/.../Roundhouserefreshdatabasefnh&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70726" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70725</link><pubDate>Thu, 20 Dec 2012 05:29:07 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70725</guid><dc:creator>Rob Reynolds</dc:creator><description>&lt;p&gt;And a NuGet Package - &lt;a rel="nofollow" target="_new" href="http://devlicio.us/blogs/rob_reynolds/archive/2012/12/19/this-log-source-nuget-package-amp-performance.aspx"&gt;devlicio.us/.../this-log-source-nuget-package-amp-performance.aspx&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70725" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70718</link><pubDate>Mon, 17 Dec 2012 20:45:07 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70718</guid><dc:creator>angol</dc:creator><description>&lt;p&gt;vote for pedro, vote for nuget:)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70718" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70717</link><pubDate>Mon, 17 Dec 2012 20:23:05 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70717</guid><dc:creator>Matt</dc:creator><description>&lt;p&gt;It would be great to have a nuget package&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70717" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70716</link><pubDate>Mon, 17 Dec 2012 16:23:39 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70716</guid><dc:creator>Matt Davey</dc:creator><description>&lt;p&gt;@Mark Rendle I had the same thought but unfortunately you can&amp;#39;t get the name of the type with caller info attributes, just the method/file/line.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70716" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70714</link><pubDate>Mon, 17 Dec 2012 14:09:24 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70714</guid><dc:creator>Stuart</dc:creator><description>&lt;p&gt;In fact, going off my earlier comment, I think you could replace your public static class Log with:&lt;/p&gt;
&lt;p&gt;public static class LogManager&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static readonly ILog NullLogInstance = new NullLogger();&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static Func&amp;lt;Type, ILog&amp;gt; GetLog = type =&amp;gt; NullLogInstance;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;(From Caliburn.Micro), then in your extension method class you use LogManager.GetLog(typeof (T));&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70714" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70713</link><pubDate>Mon, 17 Dec 2012 10:00:27 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70713</guid><dc:creator>Mark Rendle</dc:creator><description>&lt;p&gt;In C# 5, adding the [CallerMemberName] etc attributes to the extension methods could improve this still further.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70713" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70712</link><pubDate>Mon, 17 Dec 2012 08:38:01 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70712</guid><dc:creator>Stuart</dc:creator><description>&lt;p&gt;This looks pretty good. Some combination of this and the way that Caliburn.Micro manages logging (see &lt;a rel="nofollow" target="_new" href="http://caliburnmicro.codeplex.com/SourceControl/changeset/view/1c05274733b7#src/Caliburn.Micro.Silverlight/Logging.cs"&gt;caliburnmicro.codeplex.com/.../1c05274733b7&lt;/a&gt;) would be pretty awesome.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70712" width="1" height="1"&gt;</description></item><item><title>re: Refresh Database–Speed up Your Development Cycles</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/12/refresh-database-speed-up-your-development-cycles.aspx#70711</link><pubDate>Sun, 16 Dec 2012 19:23:14 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70711</guid><dc:creator>Raif Harik</dc:creator><description>&lt;p&gt;Hi, I&amp;#39;m interested in the NH version. &amp;nbsp;I see the nuget but don&amp;#39;t see any info on the source or how to use it. &amp;nbsp;Somewhere you mention using FNH diff scripts that are generated but I don&amp;#39;t know anything about that either. &amp;nbsp;Can you expand on this subject? &lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Raif&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70711" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70709</link><pubDate>Sun, 16 Dec 2012 04:15:23 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70709</guid><dc:creator>J</dc:creator><description>&lt;p&gt;Sticking Lazy around the concurrent dictionary seems unnecessary (construction of the dictionary takes very little time tested with 100000 iterations and a stopwatch).&lt;/p&gt;
&lt;p&gt;Conversely, the Log class could be cleaner if you used Lazy(T)&lt;/p&gt;
&lt;p&gt;Have you considered InitializeWith(Func(T) teaFactory)* instead of storing the type and using Activator.CreateInstance()?&lt;/p&gt;
&lt;p&gt;* parentheses instead of angle brackets, because I&amp;#39;m not sure what gets swallowed.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70709" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70707</link><pubDate>Sat, 15 Dec 2012 19:10:31 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70707</guid><dc:creator>Jega</dc:creator><description>&lt;p&gt;Hi Rob&lt;/p&gt;
&lt;p&gt;This is so cool. Great if you could create a Nuget package.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Jega&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70707" width="1" height="1"&gt;</description></item><item><title>re: Introducing this.Log</title><link>http://devlicio.us/blogs/rob_reynolds/archive/2012/12/15/introducing-this-log.aspx#70706</link><pubDate>Sat, 15 Dec 2012 19:09:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70706</guid><dc:creator>Jega</dc:creator><description>&lt;p&gt;Hi Rob,&lt;/p&gt;
&lt;p&gt;This is cool. It would be great if you could create a Nuget package for it.&lt;/p&gt;
&lt;p&gt;-Jega&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70706" width="1" height="1"&gt;</description></item></channel></rss>