Search code examples
nlogiformatprovider

How to add formatProvider parameter to NLog.LogEventInfo.Create method?


I have following NLog 2.0 code to log exceptions:

Dim theEvent = NLog.LogEventInfo.Create(NLog.LogLevel.Error, loggerName, message, ex)

After upgrading to NLog 4.1 I see following warning:

Function Create(logLevel As LogLevel, loggerName As String, message As String, exception As Exception) As LogEventInfo' is obsolete: 'use Create(LogLevel logLevel, string loggerName, Exception exception, IFormatProvider formatProvider, string message)'

... it asks me to add IFormatProvider formatProvider as parameter. What should I add there?

Dim theEvent = NLog.LogEventInfo.Create(NLog.LogLevel.Error, loggerName, ex, ???, message)

Solution

  • You can safely use null, one from the System.Globalization.CultureInfo members (a good guide can be found here) or create your own custom format provider depending on your needs.

    The current implementation (as of v.4.1.2 on GitHub) will simply use CultureInfo.CurrentCulture if the FormatProvider property is null.