In java world you have log4j and a a pretty decent logging framework, is there anything like that for C#/.NET?
Yep. Log4Net.
I've been using it for a while, it has been a life saver!
There's also nLog, which is rather similar, but a bit more lightweight with less configuration.
http://www.nlog-project.org/ - NLog
It's a very flexible and configurable logging tool that's very light-weight. You can set it up to log to many different locations (Console, SQL, File... etc). Very easy to use.
It's even used by Rob Connery in his Storefront MVC project... http://blog.wekeroad.com/mvc-storefront/
I'd still say Log4Net is a safer options. Many other open source projects also use it, if you ever include one that does, then you've just reduced a dependency.
Is there anything that the Windows Event Log + Log Parser can't do for you?
We've always used the MS P&P Enterprise Library Logging Application Block. It's not particulary cool or elegant, but it is pretty flexible and well designed. Main reason I think we use it is that we use a lot of the other components from the EL, and they of course all have dependencies on the logging module. More Info Here.
Look at TraceSources and TraceListeners. It is built into .NET and configured with the config file.
Try the Enterprise Library Logging Application Block
Even though I have used a few others mentioned here too - it is worth looking into.
James Newton-King covered log4net vs. Enterprise Library Logging about a year ago, and I think it's still largely up to date. My experience has been with EL only, and it's had ups and downs. It's a lot of configuration in a multi-tier application if you don't take advantage of every bell and whistle, so I'll probably try log4net on my next project.
Actually, if you don't need sophisticated logging options straight out of the box, I would suggest writing a thin interface that defines your logging needs (such as log.debug(), log.error(), etc). This will give you flexibility if you need to change latter, or find problems with your current implementation.
While this doesn't seem like a big gain, it was a big win for us recently when we ported our framework to the Windows Compact Framework, and none of the logging options worked. We were able to slide in a null logger, which saved us on that platform. Of course, evaluate for your specific project and needs.
If you are looking for a simple non-bloat solution (the download is only about 100K and the actual dll about 40K), I've successfully used BitFactory on a number of projects.
It's small, configurable, reliable and free!
The comments here seem to agree with Developer Dude and nzpcmad, as do I. Use Bit Factory, also called The Object Guy's Logging Framework.
As I've said in a few other places, I agree with others here about The Object Guy's Logging Framework. Like Developer Dude says, it isn't bloated -- like some other frameworks out there. It works in all our production applications--and has been doing so for several years now.