<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>ProgramGood.Net - Log4Net</title>
    <link>http://www.programgood.net/</link>
    <description>The journey to becoming a great programmer</description>
    <language>en-us</language>
    <copyright>Dave Mateer</copyright>
    <lastBuildDate>Wed, 13 Mar 2013 12:02:24 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>davemateer@gmail.com</managingEditor>
    <webMaster>davemateer@gmail.com</webMaster>
    <item>
      <trackback:ping>http://www.programgood.net/Trackback.aspx?guid=e96dcb17-e7b1-4f15-b799-ebe43de340c2</trackback:ping>
      <pingback:server>http://www.programgood.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.programgood.net/PermaLink,guid,e96dcb17-e7b1-4f15-b799-ebe43de340c2.aspx</pingback:target>
      <dc:creator>Dave Mateer</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A wrapper for other logging engines
</p>
        <p>
          <a title="http://geekswithblogs.net/robz/archive/2012/12/15/introducing-this.log.aspx" href="http://geekswithblogs.net/robz/archive/2012/12/15/introducing-this.log.aspx">http://geekswithblogs.net/robz/archive/2012/12/15/introducing-this.log.aspx</a>
        </p>
        <p>
and source here:  <a title="https://github.com/ferventcoder/this.log" href="https://github.com/ferventcoder/this.log">https://github.com/ferventcoder/this.log</a></p>
        <img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=e96dcb17-e7b1-4f15-b799-ebe43de340c2" />
      </body>
      <title>this.Log</title>
      <guid isPermaLink="false">http://www.programgood.net/PermaLink,guid,e96dcb17-e7b1-4f15-b799-ebe43de340c2.aspx</guid>
      <link>http://www.programgood.net/2013/03/13/thisLog.aspx</link>
      <pubDate>Wed, 13 Mar 2013 12:02:24 GMT</pubDate>
      <description>&lt;p&gt;
A wrapper for other logging engines
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://geekswithblogs.net/robz/archive/2012/12/15/introducing-this.log.aspx" href="http://geekswithblogs.net/robz/archive/2012/12/15/introducing-this.log.aspx"&gt;http://geekswithblogs.net/robz/archive/2012/12/15/introducing-this.log.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
and source here:&amp;#160; &lt;a title="https://github.com/ferventcoder/this.log" href="https://github.com/ferventcoder/this.log"&gt;https://github.com/ferventcoder/this.log&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=e96dcb17-e7b1-4f15-b799-ebe43de340c2" /&gt;</description>
      <category>Log4Net</category>
      <category>NLog</category>
    </item>
    <item>
      <trackback:ping>http://www.programgood.net/Trackback.aspx?guid=3eef2d70-4bc8-477d-8ee1-55178483f4d9</trackback:ping>
      <pingback:server>http://www.programgood.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.programgood.net/PermaLink,guid,3eef2d70-4bc8-477d-8ee1-55178483f4d9.aspx</pingback:target>
      <dc:creator>Dave Mateer</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://logging.apache.org/log4net/index.html">http://logging.apache.org/log4net/index.html</a>
        </p>
        <p>
Logging to the console in a console app: (thanks to <a href="http://www.beefycode.com/?tag=/log4net">http://www.beefycode.com/?tag=/log4net</a> for
the great examples)
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <span style="color: #0000ff">static</span>
            <span style="color: #0000ff">void</span> Main(<span style="color: #0000ff">string</span>[]
args)<br />
{<br />
log4net.Config.BasicConfigurator.Configure();<br />
log4net.ILog log = log4net.LogManager.GetLogger(<span style="color: #0000ff">typeof</span>(Program));<br /><br />
log.Debug(<span style="color: #006080">"Hello World!"</span>);<br />
log.Info(<span style="color: #006080">"I'm a simple log4net tutorial."</span>);<br />
log.Warn(<span style="color: #006080">"... better be careful ..."</span>);<br />
log.Error(<span style="color: #006080">"ruh-roh: an error occurred"</span>);<br />
log.Fatal(<span style="color: #006080">"OMG we're dooooooomed!"</span>);<br /><br />
Console.ReadLine(); 
<br />
}</pre>
          <br />
        </div>
        <p>
Using app.config
</p>
        <p>
          <a href="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_thumb.png" width="644" height="306" />
          </a>
        </p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">&lt;configuration&gt;<br />
&lt;configSections&gt;<br />
&lt;section name=<span style="color: #006080">"log4net"</span> type=<span style="color: #006080">"log4net.Config.Log4NetConfigurationSectionHandler,
log4net"</span>/&gt;<br />
&lt;/configSections&gt;<br /><br />
&lt;log4net&gt;<br />
&lt;appender name=<span style="color: #006080">"ConsoleAppender"</span> type=<span style="color: #006080">"log4net.Appender.ConsoleAppender"</span>&gt;<br />
&lt;layout type=<span style="color: #006080">"log4net.Layout.SimpleLayout"</span> /&gt;<br />
&lt;/appender&gt;<br /><br />
&lt;root&gt;<br />
&lt;level <span style="color: #0000ff">value</span>=<span style="color: #006080">"INFO"</span> /&gt;<br />
&lt;appender-<span style="color: #0000ff">ref</span><span style="color: #0000ff">ref</span>=<span style="color: #006080">"ConsoleAppender"</span> /&gt;<br />
&lt;/root&gt;<br />
&lt;/log4net&gt;<br />
&lt;/configuration&gt;</pre>
          <br />
        </div>
        <p>
        </p>
        <p>
notice level is set to INFO only.
</p>
        <h3>Appenders
</h3>
        <p>
An object that persists the log messages somewhere.
</p>
        <p>
eg AdoNetAppender, ConsoleAppender, ColoredConsoleAppender, EventLogAppender, FileAppender
(don’t use), RollingFileAppender, SmtpAppender
</p>
        <p>
          <a href="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_thumb_1.png" width="628" height="369" />
          </a>
        </p>
        <h3>Layout
</h3>
        <p>
All the different options:
</p>
        <p>
          <a href="http://www.beefycode.com/post/Log4Net-Tutorial-pt-4-Layouts-and-Patterns.aspx">http://www.beefycode.com/post/Log4Net-Tutorial-pt-4-Layouts-and-Patterns.aspx</a>
        </p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">&lt;layout type=<span style="color: #006080">"log4net.Layout.PatternLayout"</span>&gt;<br />
&lt;conversionPattern <span style="color: #0000ff">value</span>=<span style="color: #006080">"%line
%date %-5level %logger - %message%newline"</span> /&gt;<br />
&lt;/layout&gt;</pre>
          <a href="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_thumb_2.png" width="624" height="321" />
          </a>
          <br />
        </div>
        <p>
        </p>
        <h3>Real Life
</h3>
        <div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <span style="color: #0000ff">class</span> Program<br />
{<br /><span style="color: #0000ff">private</span><span style="color: #0000ff">static</span> log4net.ILog
Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);<br /><br /><span style="color: #0000ff">static</span><span style="color: #0000ff">void</span> Main(<span style="color: #0000ff">string</span>[]
args)<br />
{<br />
log4net.Config.XmlConfigurator.Configure();<br />
Log.Info(<span style="color: #006080">"this is an info message"</span>);<br />
MyClass.WriteLog();<br /><br />
Console.ReadLine();<br />
} 
<br />
}<br /><br /><span style="color: #0000ff">class</span> MyClass<br />
{<br /><span style="color: #0000ff">private</span><span style="color: #0000ff">static</span> log4net.ILog
Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);<br /><br /><span style="color: #0000ff">public</span><span style="color: #0000ff">static</span><span style="color: #0000ff">void</span> WriteLog()<br />
{<br />
Log.Info(<span style="color: #006080">"this is an info message"</span>);<br />
}<br />
} </pre>
          <br />
        </div>
        <p>
          <a href="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_8.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_thumb_3.png" width="550" height="67" />
          </a>
        </p>
        <p>
Shows us which class called the logger.
</p>
        <h3>Web Apps
</h3>
        <p>
Putting this in AssemblyInfo.cs
</p>
        <p>
[assembly: log4net.Config.XmlConfigurator()]
</p>
        <h3>Connection Strings and AdoNetAppender
</h3>
        <p>
bufferSize value=”1” – otherwise it won’t write each one seperatly
</p>
        <p>
This proved hard
</p>
        <p>
          <a href="http://weblogs.asp.net/drnetjes/archive/2005/02/16/374780.aspx">http://weblogs.asp.net/drnetjes/archive/2005/02/16/374780.aspx</a>
        </p>
        <p>
doing a search and replace here didn’t work
</p>
        <p>
Nor did extending the provider
</p>
        <p>
          <a href="http://stackoverflow.com/questions/2441359/can-you-pull-the-connectionstring-for-a-log4net-adonetappender-from-elsewhere-in">http://stackoverflow.com/questions/2441359/can-you-pull-the-connectionstring-for-a-log4net-adonetappender-from-elsewhere-in</a>
        </p>
        <p>
** this could be better: <a href="http://blog.dynamicprogrammer.com/CommentView,guid,357a3fbe-59e7-4dd4-846a-89083e903532.aspx">http://blog.dynamicprogrammer.com/CommentView,guid,357a3fbe-59e7-4dd4-846a-89083e903532.aspx</a></p>
        <h3>Recommended Practice in Code
</h3>
        <p>
          <a href="http://www.beefycode.com/post/Log4Net-Recommended-Practices-pt-1-Your-Code.aspx">http://www.beefycode.com/post/Log4Net-Recommended-Practices-pt-1-Your-Code.aspx</a>
        </p>
        <p>
Whenever you catch an exception, log it.
</p>
        <h3>Internal Log4Net Logging
</h3>
        <p>
When trying to figure out why somethings aren’t working (eg connection strings)
</p>
        <p>
In web.config:
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">&lt;add key=<span style="color: #006080">"log4net.Internal.Debug"</span><span style="color: #0000ff">value</span>=<span style="color: #006080">"true"</span> /&gt;<br />
&lt;/appSettings&gt;<br />
&lt;system.diagnostics&gt;<br />
&lt;trace autoflush=<span style="color: #006080">"true"</span>&gt;<br />
&lt;listeners&gt;<br />
&lt;add<br />
name=<span style="color: #006080">"textWriterTraceListener"</span><br />
type=<span style="color: #006080">"System.Diagnostics.TextWriterTraceListener"</span><br />
initializeData=<span style="color: #006080">"c:\\log4net.txt"</span> /&gt;<br />
&lt;/listeners&gt;<br />
&lt;/trace&gt;<br />
&lt;/system.diagnostics&gt;</pre>
          <br />
        </div>
        <img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=3eef2d70-4bc8-477d-8ee1-55178483f4d9" />
      </body>
      <title>Log4Net</title>
      <guid isPermaLink="false">http://www.programgood.net/PermaLink,guid,3eef2d70-4bc8-477d-8ee1-55178483f4d9.aspx</guid>
      <link>http://www.programgood.net/2010/08/24/Log4Net.aspx</link>
      <pubDate>Tue, 24 Aug 2010 02:21:27 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://logging.apache.org/log4net/index.html"&gt;http://logging.apache.org/log4net/index.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Logging to the console in a console app: (thanks to &lt;a href="http://www.beefycode.com/?tag=/log4net"&gt;http://www.beefycode.com/?tag=/log4net&lt;/a&gt; for
the great examples)
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[]
args)&lt;br /&gt;
{&lt;br /&gt;
log4net.Config.BasicConfigurator.Configure();&lt;br /&gt;
log4net.ILog log = log4net.LogManager.GetLogger(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(Program));&lt;br /&gt;
&lt;br /&gt;
log.Debug(&lt;span style="color: #006080"&gt;&amp;quot;Hello World!&amp;quot;&lt;/span&gt;);&lt;br /&gt;
log.Info(&lt;span style="color: #006080"&gt;&amp;quot;I'm a simple log4net tutorial.&amp;quot;&lt;/span&gt;);&lt;br /&gt;
log.Warn(&lt;span style="color: #006080"&gt;&amp;quot;... better be careful ...&amp;quot;&lt;/span&gt;);&lt;br /&gt;
log.Error(&lt;span style="color: #006080"&gt;&amp;quot;ruh-roh: an error occurred&amp;quot;&lt;/span&gt;);&lt;br /&gt;
log.Fatal(&lt;span style="color: #006080"&gt;&amp;quot;OMG we're dooooooomed!&amp;quot;&lt;/span&gt;);&lt;br /&gt;
&lt;br /&gt;
Console.ReadLine(); 
&lt;br /&gt;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
Using app.config
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_thumb.png" width="644" height="306" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;
&amp;lt;configSections&amp;gt;&lt;br /&gt;
&amp;lt;section name=&lt;span style="color: #006080"&gt;&amp;quot;log4net&amp;quot;&lt;/span&gt; type=&lt;span style="color: #006080"&gt;&amp;quot;log4net.Config.Log4NetConfigurationSectionHandler,
log4net&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;
&amp;lt;/configSections&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;log4net&amp;gt;&lt;br /&gt;
&amp;lt;appender name=&lt;span style="color: #006080"&gt;&amp;quot;ConsoleAppender&amp;quot;&lt;/span&gt; type=&lt;span style="color: #006080"&gt;&amp;quot;log4net.Appender.ConsoleAppender&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;lt;layout type=&lt;span style="color: #006080"&gt;&amp;quot;log4net.Layout.SimpleLayout&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;
&amp;lt;/appender&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;root&amp;gt;&lt;br /&gt;
&amp;lt;level &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;=&lt;span style="color: #006080"&gt;&amp;quot;INFO&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;
&amp;lt;appender-&lt;span style="color: #0000ff"&gt;ref&lt;/span&gt; &lt;span style="color: #0000ff"&gt;ref&lt;/span&gt;=&lt;span style="color: #006080"&gt;&amp;quot;ConsoleAppender&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&lt;br /&gt;
&amp;lt;/log4net&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
notice level is set to INFO only.
&lt;/p&gt;
&lt;h3&gt;Appenders
&lt;/h3&gt;
&lt;p&gt;
An object that persists the log messages somewhere.
&lt;/p&gt;
&lt;p&gt;
eg AdoNetAppender, ConsoleAppender, ColoredConsoleAppender, EventLogAppender, FileAppender
(don’t use), RollingFileAppender, SmtpAppender
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_thumb_1.png" width="628" height="369" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;h3&gt;Layout
&lt;/h3&gt;
&lt;p&gt;
All the different options:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.beefycode.com/post/Log4Net-Tutorial-pt-4-Layouts-and-Patterns.aspx"&gt;http://www.beefycode.com/post/Log4Net-Tutorial-pt-4-Layouts-and-Patterns.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;layout type=&lt;span style="color: #006080"&gt;&amp;quot;log4net.Layout.PatternLayout&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;lt;conversionPattern &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;=&lt;span style="color: #006080"&gt;&amp;quot;%line
%date %-5level %logger - %message%newline&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;
&amp;lt;/layout&amp;gt;&lt;/pre&gt;
&lt;a href="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_thumb_2.png" width="624" height="321" /&gt;&lt;/a&gt; 
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;h3&gt;Real Life
&lt;/h3&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; log4net.ILog
Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[]
args)&lt;br /&gt;
{&lt;br /&gt;
log4net.Config.XmlConfigurator.Configure();&lt;br /&gt;
Log.Info(&lt;span style="color: #006080"&gt;&amp;quot;this is an info message&amp;quot;&lt;/span&gt;);&lt;br /&gt;
MyClass.WriteLog();&lt;br /&gt;
&lt;br /&gt;
Console.ReadLine();&lt;br /&gt;
} 
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MyClass&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; log4net.ILog
Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; WriteLog()&lt;br /&gt;
{&lt;br /&gt;
Log.Info(&lt;span style="color: #006080"&gt;&amp;quot;this is an info message&amp;quot;&lt;/span&gt;);&lt;br /&gt;
}&lt;br /&gt;
} &lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;a href="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/Log4Net_AEA4/image_thumb_3.png" width="550" height="67" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Shows us which class called the logger.
&lt;/p&gt;
&lt;h3&gt;Web Apps
&lt;/h3&gt;
&lt;p&gt;
Putting this in AssemblyInfo.cs
&lt;/p&gt;
&lt;p&gt;
[assembly: log4net.Config.XmlConfigurator()]
&lt;/p&gt;
&lt;h3&gt;Connection Strings and AdoNetAppender
&lt;/h3&gt;
&lt;p&gt;
bufferSize value=”1” – otherwise it won’t write each one seperatly
&lt;/p&gt;
&lt;p&gt;
This proved hard
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://weblogs.asp.net/drnetjes/archive/2005/02/16/374780.aspx"&gt;http://weblogs.asp.net/drnetjes/archive/2005/02/16/374780.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
doing a search and replace here didn’t work
&lt;/p&gt;
&lt;p&gt;
Nor did extending the provider
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stackoverflow.com/questions/2441359/can-you-pull-the-connectionstring-for-a-log4net-adonetappender-from-elsewhere-in"&gt;http://stackoverflow.com/questions/2441359/can-you-pull-the-connectionstring-for-a-log4net-adonetappender-from-elsewhere-in&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
** this could be better: &lt;a href="http://blog.dynamicprogrammer.com/CommentView,guid,357a3fbe-59e7-4dd4-846a-89083e903532.aspx"&gt;http://blog.dynamicprogrammer.com/CommentView,guid,357a3fbe-59e7-4dd4-846a-89083e903532.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Recommended Practice in Code
&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://www.beefycode.com/post/Log4Net-Recommended-Practices-pt-1-Your-Code.aspx"&gt;http://www.beefycode.com/post/Log4Net-Recommended-Practices-pt-1-Your-Code.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Whenever you catch an exception, log it.
&lt;/p&gt;
&lt;h3&gt;Internal Log4Net Logging
&lt;/h3&gt;
&lt;p&gt;
When trying to figure out why somethings aren’t working (eg connection strings)
&lt;/p&gt;
&lt;p&gt;
In web.config:
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;add key=&lt;span style="color: #006080"&gt;&amp;quot;log4net.Internal.Debug&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;=&lt;span style="color: #006080"&gt;&amp;quot;true&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;
&amp;lt;/appSettings&amp;gt;&lt;br /&gt;
&amp;lt;system.diagnostics&amp;gt;&lt;br /&gt;
&amp;lt;trace autoflush=&lt;span style="color: #006080"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;lt;listeners&amp;gt;&lt;br /&gt;
&amp;lt;add&lt;br /&gt;
name=&lt;span style="color: #006080"&gt;&amp;quot;textWriterTraceListener&amp;quot;&lt;/span&gt;
&lt;br /&gt;
type=&lt;span style="color: #006080"&gt;&amp;quot;System.Diagnostics.TextWriterTraceListener&amp;quot;&lt;/span&gt;
&lt;br /&gt;
initializeData=&lt;span style="color: #006080"&gt;&amp;quot;c:\\log4net.txt&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;
&amp;lt;/listeners&amp;gt;&lt;br /&gt;
&amp;lt;/trace&amp;gt;&lt;br /&gt;
&amp;lt;/system.diagnostics&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=3eef2d70-4bc8-477d-8ee1-55178483f4d9" /&gt;</description>
      <category>Log4Net</category>
    </item>
  </channel>
</rss>