Click or drag to resize

MessageBoxTarget Class

Pops up log messages as message boxes.
Inheritance Hierarchy
SystemObject
  NLog.TargetsTarget
    NLog.TargetsTargetWithLayout
      NLog.Windows.FormsMessageBoxTarget

Namespace:  NLog.Windows.Forms
Assembly:  NLog.Windows.Forms (in NLog.Windows.Forms.dll) Version: 5.2.3+a6f5d4397ec11371a92ffd5b29f2da9844f01c95
Syntax
public sealed class MessageBoxTarget : TargetWithLayout

The MessageBoxTarget type exposes the following members.

Constructors
  NameDescription
Public methodMessageBoxTarget
Initializes a new instance of the MessageBoxTarget class.
Top
Properties
  NameDescription
Public propertyCaption
Gets or sets the message box title.
Public propertyLayout
Gets or sets the layout used to format log messages.
(Inherited from TargetWithLayout.)
Public propertyName
Gets or sets the name of the target.
(Inherited from Target.)
Top
Methods
  NameDescription
Public methodDispose
Closes the target.
(Inherited from Target.)
Public methodFlush
Flush any pending log messages (in case of asynchronous targets).
(Inherited from Target.)
Public methodPrecalculateVolatileLayouts
Calls the Precalculate(LogEventInfo) on each volatile layout used by this target. This method won't prerender if all layouts in this target are thread-agnostic.
(Inherited from Target.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Target.)
Public methodWriteAsyncLogEvent
Writes the log to the target.
(Inherited from Target.)
Public methodWriteAsyncLogEvents(AsyncLogEventInfo)
Writes the array of log events.
(Inherited from Target.)
Public methodWriteAsyncLogEvents(IListAsyncLogEventInfo)
Writes the array of log events.
(Inherited from Target.)
Top
Examples

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

XML
 1<?xml version="1.0" ?>
 2<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
 3      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 4    <targets>
 5        <target name="msgbox" xsi:type="MessageBox" layout="${longdate}: ${message}" caption="${level}" />
 6    </targets>
 7
 8    <rules>
 9        <logger name="*" minlevel="Debug" writeTo="msgbox" />
10    </rules>
11</nlog>

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

The result is a message box:

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

C#
1!ERROR: See log file!
See Also