Does anyone have a recommendation for a library that allows a distributed application logging and tracing, and with a viewer to view the logging in realtime. Being able to sort messages by machine etc on the viewer would be nice, etc? For .Net 2.x or later. I am using the Enterprise Library 2.0 Logging Application Block http://codebetter.com/blogs/david.hayden/archive/2006/02/19/138644.aspx but AFAIK, this doesn't work very well in a distributed environment. The less intrusive on the code the better, so that my code looks the same (with maybe a decorator to the class) so that exceptions, debug/trace are automatically logged to the distributed logging system.
Use Log4Net and their SQL database appender. Then you can use SQL to get the info you need. Just a suggestion.
Thanks. That's not a bad idea. To see it in realtime you would probably go one further and use triggers. I couldn't believe there was nothing like this, so I wrote a very quick server that different clients can send (multicast) debug/ trace information to. The right way to do it is to use system.diagnostics and override the trace functions. That way when you are in the debugger, your code will send information to it, and during runtime ("release"), to this scheme that I describe above. For now this is ok.
I just saw that this comes close: http://www.codeproject.com/KB/exception/Logging_system_NET_SOA.aspx But this guy is out of his mind charging $7k for this thing.
i log to a messaging queue using a log4net appender. but the log viewing is just a web page. i havent seen anything worth buying
For the most scalable distributed logging, I would use the Enterprise Library but with an MSMQ (Microsoft Message Queuing) trace listener, and I would then get a process to handle items arriving on that queue. MQs can handle redundancy, mirroring, filtering, persistance and are the most scalable technology to date in my opinion.