NETLog is just another logging library for .NET. I wrote it primarily because log4net wouldn't compile with DotGNU and I don't want to use Mono for several reasons.
However, this one works with DotGNU, Mono and MS .NET.
In my opinion, the design of log4net is not very straightforward or modular. I guess this is a design decision, so I actually decided to create a new logging framework. I tried to resolve this issues with my own logging library (apart from just needing a working framework).
Known differences to log4net:
- NETLog uses its method Logger.Log() for every logging event. There are no methods like Logger.Error() or Logger.Info().
- NETLog's design is modular, which means you can very easily add and use new appenders, levels or layouts (log4net terminology) in your projects.
- priorities are based on type double - to create your own priority hierarchy, just use a priority between existing ones
- no inheritance of existing loggers - however there's a slightly buggy method InheritFrom() which actually clones a logger and gives it a new name
- NETLog works with DotGNU. :)
Known similarities to log4net:
- completely configurable through xml
- loggers can have several appenders which can have custom layouts and levels
- appenders can write to whatever you want them to - currently built in are FileAppender and ConsoleAppender
- loggers can be categorized by class types