Last updated: 2006-09-18

This website is based on NLog v1.0. Click here to view the documentation for other versions.

EventLog Target


Writes log message to the Event Log.

AssemblyClass.NET Framework.NET CFMono on WindowsMono on Unix
1.01.12.01.02.01.02.01.02.0
NLog.dllNLog.Win32.Targets.EventLogTarget      

Parameters (blue fields are required):

NameTypeDescription
layoutstring  ${}
The text to be rendered.

Default value is: ${longdate}|${level:uppercase=true}|${logger}|${message}.

namestring
The name of the target.
categorystring  ${}
Layout that renders event Category.
eventIDstring  ${}
Layout that renders event ID.
logstring
Name of the Event Log to write to. This can be System, Application or any user-defined name.

Default value is: Application.

machineNamestring
Machine name on which Event Log service is running.

Default value is: ..

sourcestring
The value to be used as the event Source.

By default this is the friendly name of the current AppDomain.

Example:

To set up the target in the configuration file, use the following syntax:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
  <targets> 
    <target name="eventlog" xsi:type="EventLog" layout="${logger}: ${message}" 
            source="My Source" log="Application"/> 
  </targets> 
  <rules> 
    <logger name="*" minlevel="Debug" writeTo="eventlog"/> 
  </rules> 
</nlog> 

This assumes just one target and a single rule. More configuration options are described here.

To set up the log target programmatically use code like this:

using NLog; 
using NLog.Targets; 
using NLog.Win32.Targets; 
 
class Example 
{ 
    static void Main(string[] args) 
    { 
        EventLogTarget target = new EventLogTarget(); 
        target.Source = "My Source"; 
        target.Log = "Application"; 
        target.MachineName = "."; 
        target.Layout = "${logger}: ${message}"; 
 
        NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(target, LogLevel.Debug); 
 
        Logger logger = LogManager.GetLogger("Example"); 
        logger.Debug("log message"); 
    } 
}

Back to the target list.
Webwww.nlog-project.org