| How about this: - An error is an event that someone should act on. Not necessarily you. But if it's not an event that ever needs the attention of a person then the severity is less than an error. Examples: Invalid credentials. HTTP 404 - Not Found, HTTP 403 Forbidden, (all of the HTTP 400s, by definition) It's not my problem as a site owner if one of my users entered the wrong URL or typed their password wrong, but it's somebody's problem. A warning is something that A) a person would likely want to know and B) wouldn't necessarily need to act on INFO is for something a person would likely want to know and unlikely needs action DEBUG is for something likely to be helpful TRACE is for just about anything that happens EMERG/CRIT are for significant errors of immediate impact PANIC the sky is falling, I hope you have good running shoes |
Some of these things can be ameliorated with well-behaved UI code, but a lot cannot, and if your primary product is the API, then you're just going to have scads of ERRORs to triage where there's literally nothing you can do.
I'd argue that anything that starts with a 4 is an INFO, and if you really wanted to be through, you could set up an alert on the frequency of these errors to help you identify if there's a broad problem.