Comparing all the available .NET logging frameworks and selecting one is quite time-consuming. We have evaluated the most popular logging frameworks and compared the important features, available documentation and add-on tools. Please see below for the results of the comparison.

SmartInspect .NET Logging

Comparison of .NET Logging Frameworks and Libraries

Please note that the comparison of the different frameworks is a work in progress. If you believe that we missed an important feature or that we got one of the details wrong, please let us know.

SmartInspect NLog log4net Enterprise Library ObjectGuy Framework
License Commercial BSD Apache MS-PL Custom
Source available Yes Yes Yes Yes Yes
Vendor Gurock - Apache Microsoft -
Website Link Link Link Link Link
Basic Features SmartInspect NLog log4net Enterprise Library ObjectGuy Framework
Logging simple text messages Yes Yes Yes Yes Yes
Log levels to filter messages Debug
Verbose
Message
Warning
Error
Fatal
Debug
Trace
Info
Warn
Error
Fatal
Debug
Info
Warn
Error
Fatal
Verbose
Information
Warning
Error
Critical
Debug
Info
Status
Warning
Error
Critical
Fatal
Multiple connections or targets Yes Yes Yes Yes Yes
Log categories or sessions Yes Yes Yes Yes Limited
Log file rotation by date/time Yes Yes Yes Yes Yes
Log file rotation by size Yes Yes Yes Yes Yes
Log file rotation max parts Yes Yes Yes No No
Optional configuration files Yes Yes Yes Yes No
Advanced Features SmartInspect NLog log4net Enterprise Library ObjectGuy Framework
Logging objects and arrays Yes No Yes No No
Logging complex structures and binary data Yes No No No No
Thread-safe logging Yes Yes Yes Yes ?
Tracing method invocation Yes Text-only Text-only Text-only Text-only
Logging variable values Yes Text-only Text-only Text-only Text-only
Watching variable values Yes No No No No
Logging thread and process behavior Yes No No No No
Advanced protocols and connections Network
Named Pipe
Memory
Binary Files
Custom
Network
Memory
MSMQ
Database
Custom
Network
Memory
Database
Custom
WMI
MSMQ
Custom
Network
Memory
Custom
Advanced protocol options Buffer
Reconnect
Interval
Encryption
Buffer
Reconnect
Buffer ? No
Asynchronous logging and backlog queues Yes Async-only No No No
Log server application Yes No No No No
Graphical Viewer SmartInspect NLog log4net Enterprise Library ObjectGuy Framework
Graphical viewer application Yes No1) No2) No No
Advanced filtering capabilities Yes No No No No
Navigation functionality Yes No No No No
Call stacks, graphs and message details Yes No No No No
Multiple views or windows Yes No No No No
Live monitoring via network or pipes Yes No No No No
Viewing and inspecting application data Yes No No No No
Graphical configuration utility Yes No No No No
Documentation & Support SmartInspect NLog log4net Enterprise Library ObjectGuy Framework
Getting started tutorials Yes Yes Yes Yes Yes
Online articles / advanced topics Yes Yes Yes Yes No
API Reference Yes Yes Yes Yes No
Community support Yes Yes Yes Yes No
Professional / priority support Yes No No No No

1) A project called NLogViewer is mentioned on some websites, but it looks like it's outdated and/or not supported anymore.
2) There are some basic viewer applications available from third-parties, but those aren't part of the project.

When searching for this page, usual search words that are used include NLog vs. log4net, log4net vs. Enterprise Library (also called Logging Application Block). Log4net is also often called log4n (which is actually wrong). Any suggestions? Let us know.

SmartInspect .NET Logging