[Tips] How to use NLog in C# DOTNET

0
41
NLog is a free logging platform for .NET, NET STANDARD, Xamarin, Silverlight and Windows Phone with rich log routing and management capabilities. NLog makes it easy to produce and manage high-quality logs for your application regardless of its size or complexity.

How to use NLog in C# DOTNET

NLog can process diagnostic messages emitted from any .NET language (C#, VB.NET etc.), augment them with contextual information (date and time, severity, thread, process, environment), format according to your preferences and send to one or more targets.

Download full source code here
Full Source Code

Step 1: Get NLog from NuGet

Right click into projects, -> click to Manage NuGet Packages …

How to use NLog in C# DOTNET

Step 2: Write your code

class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();


static void Main(string[] args)
{
LogManager.Configuration = new XmlLoggingConfiguration("NLog.config");

logger.Trace("Trace: The chatter of people on the street");
logger.Debug("Debug: Where are you going and why?");
logger.Info("Info: What bus station you're at.");
logger.Warn("Warn: You're playing on the phone and not
looking up for your bus");
logger.Error("Error: You get on the wrong bus.");
logger.Fatal("Fatal: You are run over by the bus.");
int k = 42;
int l = 100;

logger.Info("Sample informational message, k={0}, l={1}", k, l);

Console.ReadLine();
}
}

Step 3: Edit your NLog Config


<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
throwExceptions="false">

<targets>
<!-- Using the colored console as my target-->
<target xsi:type="ColoredConsole" name="colored_console"
layout="${longdate} | ${level:uppercase=true} | ${message}" />


<target xsi:type="File" name="logfile"
fileName="C:TestNLog_${shortdate}.log"
layout="${longdate} | ${level:uppercase=true} | ${message}" />
</targets>

<rules>
<!-- Writting everything to the cololred console -->

<logger name="*" minlevel="Trace"
writeTo="logfile" />
<logger name="*" minlevel="Trace"
writeTo="colored_console"/>
</rules>
</nlog>

You’re almost there

Check on console and log file!

How to use NLog in C# DOTNET

Remember create folder to contain log file! If you don’t have any folder, the log file will don’t create it!

How to use NLog in C# DOTNET

Any feedback or questions, leave your comment, we can discuss about it!
Zidane