The slf4net project serves as a light weight abstraction layer for various logging frameworks such as log4net and NLog. This allows the end user to plug in the desired logging framework at deployment time.
This project was inspired by the Java slf4j project (which it tries to follow as closely as possible) and an earlier .Net slf project.
Find slf4net on nuget.org: https://nuget.org/packages?q=slf4net
When deploying your application, choose either the slf4net.log4net or slf4net.NLog package, or create your own wrapper for your favourite logging framework.
See the configuration wiki page.
Intall the slf4net nuget package to your project. If a logger factory is not configured, a NOPLogger (no operation logger) will be used. Start logging.
using System;
namespace slf4net.Samples
{
public class MyClass
{
private static readonly slf4net.ILogger _logger = slf4net.LoggerFactory.GetLogger(typeof(MyClass));
public void Foo()
{
_logger.Trace("Foo started at {0}.", DateTime.Now);
// Do some work
_logger.Trace("Foo() completed at {0}.", DateTime.Now);
}
}
}
slf4net is published under the MIT license.
Rebuild and run tests:
msbuild -t:clean,rebuild,test -restore -p:Configuration=Release src/slf4net.sln
Package:
version=1.0.0
path=${PWD}/nuget
msbuild -t:clean,rebuild,test,pack -restore -p:Configuration=Release,Version=${version},PackageOutputPath=${path} src/slf4net.sln