Never Test Logging
javax0.wordpress.com
javax0.wordpress.com
I hear the uproar, and I must say this was not our main alerting system. This was the 2nd or 3rd fallback, because an alerting system has a lot of dependencies and complexity, and it might fail in certain (unforeseen) circumstances. Having an extra line of defense is nice, and there is a well-tested, widely-used, reasonably simple way of communicating system state (including problems): using a simple logging framework.
You could write something extremely simple low-level stuff for sending alerts when the more sophisticated alerting system (with GUI, etc.) fails, but why not use something that has been tested already?
But even if you are just logging for behavior tracking/debug purposes, you should at least verify that the logging framework is actually working, otherwise it might not be there when you need it. If you're going to go through the trouble to code something that's going to stay in the production release, you should pretty much always at least do some basic smoke tests on the feature.