NLog is a .NET logging library. NLog is designed with simplicity and flexibility in mind. With NLog you can process diagnostic messages emitted from any .NET language, augment them with contextual information, format them according to your preference and send them to one or more targets.
The API (application programming interface) is similar to log4net, and the configuration is very simple. NLog uses a routing table while log4net uses a logger hierarchy with attachable appenders. This makes NLog's configuration very easy to read and maintain.
NLog supports .NET, C/C++ and COM interop API so that all your application components including legacy modules written in C++/COM can send their messages through a common log routing engine.
The .NET API is very fast at filtering messages, so that you can keep your logging instructions in code and let NLog filter them out at runtime. NLog can filter out as many as 150 million logging instructions per second on a single-CPU 1.6 GHz laptop. Add that to asynchronous processing and other wrappers and you'll get a very powerful and scalable logging tool.
What's New in This Release:
· This release adds a new Trace level, which is more verbose than the Debug level.
· It adds a new conditions language that lets you write powerful filtering conditions while keeping the syntax natural and readable.
· It adds a global log threshold and configurability at the config level.
· It adds support for variables in configuration files.
· It adds an infrastructure for compound targets and wrapper targets.
· It adds detailed documentation with examples for many targets, both on the Web site and in the help file.