Log files. Great for tracking down a problem, or digging up some tasty stats, but totally unmaintainable. With that in mind I’ve been investigating logging frameworks for .NET and Java (our two main programming languages).
Most of our .NET projects include the MS Enterprise Library, and Java projects use Log4j – both frameworks almost always log to a text file. In the past, these log files were compressed and squirrelled away by a nightly script, but as we grew, this has become tiresome. Not to mention that we don’t have an overview of what’s been going on as all the information is now buried in our SAN somewhere (what was the point of the logging?).
After some investigation (thanks to all the contributors at Stackoverflow) and discussion with the developers, we eventually settled on Log4net and Log4j as our main logging frameworks (thus consolidating our logging technologies) – and am hereby outlawing writing log files. Both frameworks will squirt logging information into a database (with buffering), and I’m relying on Log4net Dashboard to provide an overview of what’s going on. Although Log4net isn’t free, I think it provides an essential service to our support team.