How to integrate NLog to write log to Azure Streaming log

Mukil Deepthi picture Mukil Deepthi · Jan 28, 2016 · Viewed 10.7k times · Source

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?

Answer

Fred Mauroy picture Fred Mauroy · Jan 28, 2016

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!