<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>slf Wiki &amp; Documentation Rss Feed</title><link>http://slf.codeplex.com/Wiki/View.aspx?title=Home</link><description>slf Wiki Rss Description</description><item><title>Updated Wiki: Home</title><link>http://slf.codeplex.com/wikipage?version=9</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SLF is a framework with a simple but ambitious mission: To provide &lt;i&gt;&lt;b&gt;every&lt;/b&gt;&lt;/i&gt; developer with the means to easily plug in logging functionality into her application.&lt;br /&gt;As such, it aims at two fundamental goals:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Simplicity: SLF allows you to plug in solid logging functionality into your application with literally one line of code, while providing you with an upgrade path to complex logging scenarios at any time. &lt;/li&gt;
&lt;li&gt;Flexibility: SLF provides you with a common interface that decouples the logging framework of your choice (e.g. log4net, EntLib, or NLog)  from your code. This eliminates dependencies on a given framework, thus allowing you to switch (or even combine!) frameworks at any time. Furthermore, SLF’s modular architecture allows you to plug-in custom logging strategies very easily. &lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Basically, a fa&amp;#231;ade just provides you with a common interface that decouples the used logging framework from your code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
//ILogger is the facade. Behind the scenes, a framework of your choice is used
ILogger logger = LoggerService.GetLogger();
logger.Info(&amp;quot;hello world&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Features&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Configurable through code or configuration files (app.config). &lt;/li&gt;
&lt;li&gt;Support for named loggers with hierarchical fallback mechanisms. &lt;/li&gt;
&lt;li&gt;Support for common logging frameworks such as log4net, NLog and EntLib out of the box. &lt;/li&gt;
&lt;li&gt;Silverlight support. &lt;/li&gt;
&lt;li&gt;Writing your own pluggable logging strategy is easy. &lt;/li&gt;
&lt;li&gt;You can exchange the underlying logging mechanism at any time, even at runtime. &lt;/li&gt;
&lt;li&gt;Extensible and modular architecture. Writing your own fa&amp;#231;ade can be as simple as overriding one single method, but you can cover complex scenarios, should you have to. &lt;/li&gt;
&lt;li&gt;Robust: In case of invalid configurations or logging instructions, SLF rather outputs debug warnings instead of crashing your application at runtime. &lt;/li&gt;
&lt;li&gt;A ton of copy-and-paste ready samples for different use cases. &lt;/li&gt;
&lt;li&gt;.NET 2.0 compatible binaries. &lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;External Links&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/trace/ArtOfLogging.aspx" class="externalLink"&gt;The Art of Logging&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; @ CodeProject&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hardcodet.net/2009/12/slf-introduction" class="externalLink"&gt;SLF Introduction&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hardcodet.net/2009/12/slf-tutorial-1" class="externalLink"&gt;SLF Hands-on Tutorial&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>phsumi</author><pubDate>Wed, 02 Dec 2009 15:08:59 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091202030859P</guid></item><item><title>Updated Wiki: Home</title><link>http://slf.codeplex.com/wikipage?version=8</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SLF is a framework with a simple but ambitious mission: To provide &lt;i&gt;&lt;b&gt;every&lt;/b&gt;&lt;/i&gt; developer with the means to easily plug in logging functionality into her application.&lt;br /&gt;As such, it aims at two fundamental goals:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Simplicity: SLF allows you to plug in solid logging functionality into your application with literally one line of code, while providing you with an upgrade path to complex logging scenarios at any time. &lt;/li&gt;
&lt;li&gt;Flexibility: SLF provides you with a common interface that decouples the logging framework of your choice (e.g. log4net, EntLib, or NLog)  from your code. This eliminates dependencies on a given framework, thus allowing you to switch (or even combine!) frameworks at any time. Furthermore, SLF’s modular architecture allows you to plug-in custom logging strategies very easily. &lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Basically, a fa&amp;#231;ade just provides you with a common interface that decouples the used logging framework from your code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
//ILogger is the facade. Behind the scenes, a framework of your choice is used
ILogger logger = LoggerService.GetLogger();
logger.Info(&amp;quot;hello world&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Features&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Configurable through code or configuration files (app.config). &lt;/li&gt;
&lt;li&gt;Support for named loggers with hierarchical fallback mechanisms. &lt;/li&gt;
&lt;li&gt;Support for common logging frameworks such as log4net, NLog and EntLib out of the box. &lt;/li&gt;
&lt;li&gt;Silverlight support. &lt;/li&gt;
&lt;li&gt;Writing your own pluggable logging strategy is easy. &lt;/li&gt;
&lt;li&gt;You can exchange the underlying logging mechanism at any time, even at runtime. &lt;/li&gt;
&lt;li&gt;Extensible and modular architecture. Writing your own fa&amp;#231;ade can be as simple as overriding one single method, but you can cover complex scenarios, should you have to. &lt;/li&gt;
&lt;li&gt;Robust: In case of invalid configurations or logging instructions, SLF rather outputs debug warnings instead of crashing your application at runtime. &lt;/li&gt;
&lt;li&gt;A ton of copy-and-paste ready samples for different use cases. &lt;/li&gt;
&lt;li&gt;.NET 2.0 compatible binaries. &lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;External Links&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/trace/ArtOfLogging.aspx" class="externalLink"&gt;The Art of Logging&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; @ CodeProject&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hardcodet.net/2009/12/slf-introduction" class="externalLink"&gt;SLF Introduction&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>phsumi</author><pubDate>Wed, 02 Dec 2009 14:53:51 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091202025351P</guid></item><item><title>Updated Wiki: Home</title><link>http://slf.codeplex.com/wikipage?version=7</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SLF is a framework with a simple but ambitious mission: To provide &lt;i&gt;&lt;b&gt;every&lt;/b&gt;&lt;/i&gt; developer with the means to easily plug in logging functionality into her application.&lt;br /&gt;As such, it aims at two fundamental goals:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Simplicity: SLF allows you to plug in solid logging functionality into your application with literally one line of code, while providing you with an upgrade path to complex logging scenarios at any time. &lt;/li&gt;
&lt;li&gt;Flexibility: SLF provides you with a common interface that decouples the logging framework of your choice (e.g. log4net, EntLib, or NLog)  from your code. This eliminates dependencies on a given framework, thus allowing you to switch (or even combine!) frameworks at any time. Furthermore, SLF’s modular architecture allows you to plug-in custom logging strategies very easily. &lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Basically, a fa&amp;#231;ade just provides you with a common interface that decouples the used logging framework from your code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
//ILogger is the facade. Behind the scenes, a framework of your choice is used
ILogger logger = LoggerService.GetLogger();
logger.Info(&amp;quot;hello world&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Features&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Configurable through code or configuration files (app.config). &lt;/li&gt;
&lt;li&gt;Support for named loggers with hierarchical fallback mechanisms. &lt;/li&gt;
&lt;li&gt;Support for common logging frameworks such as log4net, NLog and EntLib out of the box. &lt;/li&gt;
&lt;li&gt;Silverlight support. &lt;/li&gt;
&lt;li&gt;Writing your own pluggable logging strategy is easy. &lt;/li&gt;
&lt;li&gt;You can exchange the underlying logging mechanism at any time, even at runtime. &lt;/li&gt;
&lt;li&gt;Extensible and modular architecture. Writing your own fa&amp;#231;ade can be as simple as overriding one single method, but you can cover complex scenarios, should you have to. &lt;/li&gt;
&lt;li&gt;Robust: In case of invalid configurations or logging instructions, SLF rather outputs debug warnings instead of crashing your application at runtime. &lt;/li&gt;
&lt;li&gt;A ton of copy-and-paste ready samples for different use cases. &lt;/li&gt;
&lt;li&gt;.NET 2.0 compatible binaries. &lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ColinEber</author><pubDate>Wed, 02 Dec 2009 14:09:30 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091202020930P</guid></item><item><title>Updated Wiki: Home</title><link>http://slf.codeplex.com/wikipage?version=6</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SLF is a framework with a simple but ambitious mission: To provide &lt;i&gt;&lt;b&gt;every&lt;/b&gt;&lt;/i&gt; developer with the means to easily plug in logging functionality into her application.&lt;br /&gt;As such, it aims at two fundamental goals:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Simplicity: SLF allows you to plug in solid logging functionality into your application with literally one line of code, while providing you with an upgrade path to complex logging scenarios at any time. &lt;/li&gt;
&lt;li&gt;Flexibility: SLF provides you with a common interface that decouples the logging framework of your choice (e.g. log4net, EntLib, or NLog)  from your code. This eliminates dependencies on a given framework, thus allowing you to switch (or even combine!) frameworks at any time. Furthermore, SLF’s modular architecture allows you to plug-in custom logging strategies very easily. &lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Basically, a fa&amp;#231;ade just provides you with a common interface that decouples the used logging framework from your code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
//ILogger is the facade. Behind the scenes, a framework of your choice is used
ILogger logger = LoggerService.GetLogger();
logger.Info(&amp;quot;hello world&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Features&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Configurable through code or configuration files (app.config). &lt;/li&gt;
&lt;li&gt;Support for named loggers with hierarchical fallback mechanisms. &lt;/li&gt;
&lt;li&gt;Support for common logging frameworks such as log4net out of the box. &lt;/li&gt;
&lt;li&gt;Silverlight support. &lt;/li&gt;
&lt;li&gt;Writing your own pluggable logging strategy is easy. &lt;/li&gt;
&lt;li&gt;You can exchange the underlying logging mechanism at any time, even at runtime. &lt;/li&gt;
&lt;li&gt;Extensible and modular architecture. Writing your own fa&amp;#231;ade can be as simple as overriding one single method, but you can cover complex scenarios, should you have to. &lt;/li&gt;
&lt;li&gt;Robust: In case of invalid configurations or logging instructions, SLF rather outputs debug warnings instead of crashing your application at runtime. &lt;/li&gt;
&lt;li&gt;A ton of copy-and-paste ready samples for different use cases. &lt;/li&gt;
&lt;li&gt;.NET 2.0 compatible binaries. &lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>phsumi</author><pubDate>Wed, 02 Dec 2009 13:35:04 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091202013504P</guid></item><item><title>Updated Wiki: Home</title><link>http://slf.codeplex.com/wikipage?version=5</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SLF is a framework with a simple but ambitious mission: To provide &lt;i&gt;&lt;b&gt;every&lt;/b&gt;&lt;/i&gt; developer with the means to easily plug in logging functionality into her application. As such, it aims at two fundamental goals:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Simplicity: SLF allows you to plug in solid logging functionality into your application with literally one line of code, while providing you with an upgrade path to complex logging scenarios at any time. &lt;/li&gt;
&lt;li&gt;Flexibility: SLF provides you with a common interface that decouples the logging framework of your choice (e.g. log4net, EntLib, or NLog)  from your code. This eliminates dependencies on a given framework, thus allowing you to switch (or even combine!) frameworks at any time. Furthermore, SLF’s modular architecture allows you to plug-in custom logging strategies very easily. &lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Basically, a fa&amp;#231;ade just provides you with a common interface that decouples the used logging framework from your code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
//ILogger is the facade. Behind the scenes, a framework of your choice is used
ILogger logger = LoggerService.GetLogger();
logger.Info(&amp;quot;hello world&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Features&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Configurable through code or configuration files (app.config). &lt;/li&gt;
&lt;li&gt;Support for named loggers with hierarchical fallback mechanisms. &lt;/li&gt;
&lt;li&gt;Support for common logging frameworks such as log4net out of the box. &lt;/li&gt;
&lt;li&gt;Silverlight support. &lt;/li&gt;
&lt;li&gt;Writing your own pluggable logging strategy is easy. &lt;/li&gt;
&lt;li&gt;You can exchange the underlying logging mechanism at any time, even at runtime. &lt;/li&gt;
&lt;li&gt;Extensible and modular architecture. Writing your own fa&amp;#231;ade can be as simple as overriding one single method, but you can cover complex scenarios, should you have to. &lt;/li&gt;
&lt;li&gt;Robust: In case of invalid configurations or logging instructions, SLF rather outputs debug warnings instead of crashing your application at runtime. &lt;/li&gt;
&lt;li&gt;A ton of copy-and-paste ready samples for different use cases. &lt;/li&gt;
&lt;li&gt;.NET 2.0 compatible binaries. &lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>phsumi</author><pubDate>Wed, 02 Dec 2009 11:25:34 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091202112534A</guid></item><item><title>Updated Wiki: Home</title><link>http://slf.codeplex.com/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This logging fa&amp;#231;ade provides you with a common interface that decouples the logging framework of your choice from your code, thus minimizing dependencies on said facility.&lt;br /&gt;&lt;br /&gt;Basically, a fa&amp;#231;ade just provides you with a common interface that decouples the used logging framework from your code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
//ILogger is the facade. Behind the scenes,
//a framework of your choice is used
ILogger logger = LoggerService.GetLogger();
logger.Info(&amp;quot;hello world&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The idea of a logging fa&amp;#231;ade isn’t exactly new, but we thought we’d share this one with you for a few reasons:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Simplicity is key: You can enable logging for your application with a single line of code.&lt;/li&gt;
&lt;li&gt;Support for a great number of logging frameworks out of the box (and writing your own fa&amp;#231;ade is easy, too!)&lt;/li&gt;
&lt;li&gt;The core library has no dependencies on other libraries at all.&lt;/li&gt;
&lt;li&gt;SLF is not part of another project (completely standalone), and there is no license attached to it. Do with it whatever you want.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;However, while &lt;i&gt;&amp;quot;Simple&amp;quot;&lt;/i&gt; is a key concept in SLF, it does not mean that you will loose flexibility:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Programmatic or declarative configuration of loggers and used logging frameworks.&lt;/li&gt;
&lt;li&gt;Support for named loggers with fallback mechanisms.&lt;/li&gt;
&lt;li&gt;Flexibility is key - SLF sports and extensible and modular architecture. Every module can be replaced at runtime.&lt;/li&gt;
&lt;li&gt;Writing your own fa&amp;#231;ade is as simple as overriding one single method, but you can cover complex scenarios, should you have to.&lt;/li&gt;
&lt;li&gt;You can easily log to multiple logging frameworks at the same time without having to change any of your code.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please be aware that the API is becoming stable, but there may be &lt;i&gt;minor&lt;/i&gt; changes in the very near future.&lt;/b&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>phsumi</author><pubDate>Tue, 25 Aug 2009 07:05:55 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090825070555A</guid></item><item><title>Updated Wiki: Home</title><link>http://slf.codeplex.com/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This logging fa&amp;#231;ade provides you with a common interface that decouples the logging framework of your choice from your code, thus minimizing dependencies on said facility.&lt;br /&gt;&lt;br /&gt;Basically, a fa&amp;#231;ade just provides you with a common interface that decouples the used logging framework from your code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
//ILogger is the facade. Behind the scenes,
//a framework of your choice is used
ILogger logger = LoggerService.Logger;
logger.Log(&amp;quot;hello world&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The idea of a logging fa&amp;#231;ade isn’t exactly new, but we thought we’d share this one with you for a few reasons:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;It is dead easy to use.&lt;/li&gt;
&lt;li&gt;It provides quite a few overloads when it comes to logging.&lt;/li&gt;
&lt;li&gt;The core library has no dependencies on other libraries at all.&lt;/li&gt;
&lt;li&gt;There are two fa&amp;#231;ades (separate DLLs) that log through the Enterprise Library Logging block or the BitFactory logger. And hopefully more to come!&lt;/li&gt;
&lt;li&gt;Writing your own fa&amp;#231;ade is as simple as overriding one single method.&lt;/li&gt;
&lt;li&gt;It’s not part of another project (completely standalone), and there is no license attached to it. Do with it whatever you want.&lt;/li&gt;
&lt;li&gt;It is dead easy to use.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The sources here provide the contents of the introductory tutorial that was first published at &lt;a href="http://www.hardcodet.net/2009/04/simple-logging-facade" class="externalLink"&gt;http://www.hardcodet.net/2009/04/simple-logging-facade&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; (apart from an additional DelegateLogger). The library works well, but please note that the API might change in the very near future once we get started here.&lt;/b&gt;&lt;/div&gt;</description><author>phsumi</author><pubDate>Fri, 22 May 2009 20:08:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090522080835P</guid></item></channel></rss>