Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to integrate NLog to write log to Azure Streaming log

Tags:

Currently I am using NLog to write my application errors to a text file. How can I configure NLog to write the error messages to Azure Streaming Log apart from writing to a Azure Blob Storage?

like image 202
Mukil Deepthi Avatar asked Jan 28 '16 09:01

Mukil Deepthi


People also ask

How do I store log in database using NLog?

To start logging, we need to create a Logger instance. Before creating the Logger instance, we are configuring Nlog by passing the configuration file nlog. config which we are going to create in the next section. The GetCurrentClassLogger() method returns the Logger instance with the name of the current class (Nlog.

What is NLog writing?

NLog is a flexible and free logging platform for various . NET platforms, including . NET standard. NLog makes it easy to write to several targets. (database, file, console) and change the logging configuration on-the-fly.

Which of the following logging levels does NLog support?

NLog supports the following levels: Trace - Very detailed log messages, potentially of a high frequency and volume. Debug -Less detailed and/or less frequent debugging messages. Info - Informational messages.


1 Answers

the Azure Streaming Log captures what is sent to the Trace interface. If you configure NLog to send to that target, you can then easily access that through the output window in Visual Studio for instance.

Here is how I configured NLog.config to obtain this result:

  <targets>     <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message} ${exception:format=tostring}" />     <target xsi:type="Trace" name="trace" layout="${logger} ${message} ${exception:format=tostring}" />   </targets>    <rules>     <logger name="*" minlevel="Info" writeTo="f" />     <logger name="*" minlevel="Trace" writeTo="trace" />   </rules> 

The first target should resemble the one you already have for logging to file, the second simply sends the data to the trace channel.

Hope this helps!

like image 80
Fred Mauroy Avatar answered Jan 30 '23 23:01

Fred Mauroy