${longdate}|${level:uppercase=true}|${logger}|${message}
To set up the target in the configuration file, use the following syntax:
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:
NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol or you'll get TCP timeouts and your application will crawl. Either switch to UDP transport or use AsyncWrapper target so that your application threads will not be blocked by the timing-out connection attempts.
To set up the target in the configuration file, use the following syntax:
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:
NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol or you'll get TCP timeouts and your application will crawl. Either switch to UDP transport or use AsyncWrapper target so that your application threads will not be blocked by the timing-out connection attempts.
To set up the target in the configuration file, use the following syntax:
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:
To print the results, use any application that's able to receive messages over TCP or UDP. NetCat is a simple but very powerful command-line tool that can be used for that. This image demonstrates the NetCat tool receiving log messages from Network target.
NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol or you'll get TCP timeouts and your application will crawl. Either switch to UDP transport or use AsyncWrapper target so that your application threads will not be blocked by the timing-out connection attempts.
There are two specialized versions of the Network target: Chainsaw and NLogViewer which write to instances of Chainsaw log4j viewer or NLogViewer application respectively.
${longdate}|${level:uppercase=true}|${logger}|${message}
${longdate}|${level:uppercase=true}|${logger}|${message}
${longdate}|${level:uppercase=true}|${logger}|${message}
${longdate}|${level:uppercase=true}|${logger}|${message}
Condition | Foreground Color | Background Color |
---|---|---|
level == LogLevel.Fatal | Red | NoChange |
level == LogLevel.Error | Yellow | NoChange |
level == LogLevel.Warn | Magenta | NoChange |
level == LogLevel.Info | White | NoChange |
level == LogLevel.Debug | Gray | NoChange |
level == LogLevel.Trace | DarkGray | NoChange |
To set up the target in the configuration file, use the following syntax:
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:
To set up the target in the configuration file, use the following syntax:
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:
To set up the target in the configuration file, use the following syntax:
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:
${longdate}|${level:uppercase=true}|${logger}|${message}
To set up the target in the configuration file, use the following syntax:
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:
${longdate}|${level:uppercase=true}|${logger}|${message}
${basedir}/${level}.log
All
Caution: Enabling this option can considerably slow down your file
logging in multi-process scenarios. If only one process is going to
be writing to the file, consider setting
To set up the target in the configuration file, use the following syntax:
The result is:
To set up the log target programmatically similar to above use code like this:
,
${longdate}|${level:uppercase=true}|${logger}|${message}
To set up the target in the configuration file, use the following syntax:
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:
Mail target works best when used with BufferingWrapper target which lets you send multiple log messages in single mail
To set up the buffered mail target in the configuration file, use the following syntax:
To set up the buffered mail target programmatically use code like this:
${longdate}|${level:uppercase=true}|${logger}|${message}
To set up the target in the configuration file, use the following syntax:
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:
${longdate}|${level:uppercase=true}|${logger}|${message}
To set up the target in the configuration file, use the following syntax:
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:
${longdate}|${level:uppercase=true}|${logger}|${message}
To set up the target in the configuration file, use the following syntax:
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:
To set up the target in the configuration file, use the following syntax:
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:
To set up the target in the configuration file, use the following syntax:
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:
To set up the target in the configuration file, use the following syntax:
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:
To set up the target in the configuration file, use the following syntax:
The result is:
To set up the target with coloring rules in the configuration file, use the following syntax:
The result is:
To set up the log target programmatically similar to above use code like this:
,
for RowColoring,
for WordColoring
${longdate}|${level:uppercase=true}|${logger}|${message}
${longdate}|${level:uppercase=true}|${logger}|${message}
To set up the target in the configuration file, use the following syntax:
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:
To set up the target in the configuration file, use the following syntax:
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:
The example web service that works with this example is shown below
Asynchronous target wrapper allows the logger code to execute more quickly, by queueing messages and processing them in a separate thread. You should wrap targets that spend a non-trivial amount of time in their Write() method with asynchronous target to speed up logging.
Because asynchronous logging is quite a common scenario, NLog supports a shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to the <targets/> element in the configuration file.
... your targets go here ...
]]>
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
${longdate}|${level:uppercase=true}|${logger}|${message}
This example causes the messages to be written to server1, and if it fails, messages go to server2.
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
This example causes the messages not contains the string '1' to be ignored.
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
This example works like this. If there are no Warn,Error or Fatal messages in the buffer only Info messages are written to the file, but if there are any warnings or errors, the output includes detailed trace (levels >= Debug). You can plug in a different type of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different functionality.
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
This example causes the messages to be written to either file1.txt or file2.txt chosen randomly on a per-message basis.
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
This example causes each log message to be repeated 3 times.
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
This example causes each write attempt to be repeated 3 times, sleeping 1 second between attempts if first one fails.
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
This example causes the messages to be written to either file1.txt or file2.txt. Each odd message is written to file2.txt, each even message goes to file1.txt.
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file:
This example causes the messages to be written to both file1.txt or file2.txt
To set up the target in the configuration file, use the following syntax:
The above examples assume just one target and a single rule. See below for a programmatic configuration that's equivalent to the above config file: