For my purposes, Log4net is better in every respect. I wish I knew this two years ago.

I am the architect for a medium-sized distributed project that is perhaps in the 200-300K lines category. We started with EntLib logging but never really enjoyed it - the configs and the lack of built-in filtering options was limiting. During a recent comparison I also found the logging generation rate (eg max number of calls to Logger.Log() can be made, particularly when the messages are being filtered out and not delivered anywhere) is unexpectedly slow.

To cut to the chase, I did a full side-by-side comparison and decided to ditch entlib logging in favour of log4net without any hesitation. The primary considerations were:
- log generation rate. the raw speed of log4net is excellent
- hierarchical logging. and well implemented too.
- cleaner, much more extensible and obvious config format
- easier programmatic extensibility
- more built in log targets (ie the standard appenders)
- generally a much more _professional_ library.  Entlib is a good idea.

Every time I use log4net I am happily surprised.

cheers,
Mike Liddell

shaeney wrote:
Hello all,
I have been asked to compare the Log4Net library with the Microsoft patterns
& practices Logging Application Block.

I have searched this forum but can't find anyone who has asked this question
previously. I would have thought this is a common topic.

Does anyone know if this type of side-by-side comparison has been done? I
know that both are very extensible, but I am interested in comparing the
core deliverables. In particular, I am interested in using either for both
Logging and Auditing purposes.
Audit will require transactions, which is to say that the calling code needs
to know if the Audit message has been persisted or not before it can
continue.

Cheers,
Steve

Reply via email to