Re:7 Good Rules to Log Exceptions
by sokoloff on Tuesday December 16, 2008 @08:52AM
(#399472)
Decent article overall (fairly short and not particularly controversial though).
One item I would argue with is the second half of this:
> You need to decide what critical means for you (most often it means losing money).
Just because you're losing money doesn't make it critical, at least not for any site that operates at scale. If you log as critical everytime you knew you're losing small amounts of money, you'll also have log files full of tiny taxes you've paid. "Can't reach US credit card payment provider" probably sounds critical, but isn't all that critical if you can place that order into a stored state and retry it with the provider later. Sure, that loses money because some of those payments will fail, and some users won't retry after an email prompt, but that doesn't make it critical.
In my experience (on the dev side for years and now on the operations side), developers log errors at one level more severe than is actually warranted. ("Divide by zero" is almost never a fatal error from the perspective of the site operations team. :) )
One item I would argue with is the second half of this: > You need to decide what critical means for you (most often it means losing money).
Just because you're losing money doesn't make it critical, at least not for any site that operates at scale. If you log as critical everytime you knew you're losing small amounts of money, you'll also have log files full of tiny taxes you've paid. "Can't reach US credit card payment provider" probably sounds critical, but isn't all that critical if you can place that order into a stored state and retry it with the provider later. Sure, that loses money because some of those payments will fail, and some users won't retry after an email prompt, but that doesn't make it critical.
In my experience (on the dev side for years and now on the operations side), developers log errors at one level more severe than is actually warranted. ("Divide by zero" is almost never a fatal error from the perspective of the site operations team. :) )