It turns out that we’re all guilty of logging malpractice. Don’t believe us? These statistics might change your mind
It’s pretty irritating when people ask questions with obvious answers, so I won’t sit here and ask if you and your team use log files to monitor your application in pre-prod and production environments. We all use logs, and there’s no doubt that they can help us better understand our applications (if you can find what you’re looking for), but they are far from perfect.
In most cases, logs don’t point to the root cause of issues in production. So why do teams still rely on them so heavily for troubleshooting?
This whitepaper will cover 5 of the biggest flaws with logs and show why they are not adequate by themselves for a comprehensive monitoring stack.
Get a sneak peek below…
1. Over 20% of Errors Never Make it to the Logs in Production
We can talk until we’re blue in the face about how logs don’t give sufficient visibility into applications in production, but let’s start with a reality check.
At least 20% of exceptions that occur in production will never make it to the logs at all. Researchers at the University of Waterloo pulled data from over half a million Java projects that included 13M catch blocks and segmented these into groups based on the action taken.
This is what they found:
We can take this one step further, grouping these actions into 3 main categories:
1. Documenting what happened by either writing something to the logs, printing a stack trace or printing out information to the console.
2. Rethrowing an exception, probably a wider abstraction that one of the methods further up the call stack would know how to handle.
3. And…Nothing. Swallowing the exception without any clues as to where it came from or why it happened. And looks like it even happens at least as often as logging it which is quite alarming to say the least.
Now, before we get to the bulk of what’s wrong with logs, let’s take a moment to go over the numbers here. 3,067,863 Empty Blocks appears in this research of 13 million catch blocks. That’s around 23% of exceptions that aren’t showing up in the logs at all. That’s not a great place to start when talking about comprehensive monitoring solutions.
Now, what do we know about the exceptions that DO end up in the logs? You might be surprised…