Title: Patterns for Logging Diagnostic Messages Neil B. Harrison Bell Laboratories 11900 N. Pecos st. Denver CO 80234 (303) 538-1541 nbh@dr.att.com Most software systems report errors to the user, and many provide additional diagnostic information to assist is troubleshooting. Transaction- oriented systems lend themselves to common approaches to logging diagnostic messages. These approaches are embodied in three patterns. The first pattern, Diagnostic Logger, separates logging from the rest of the software, and lays the groundwork for the other patterns. The second pattern, Transactional Buckets, provides association of diagnostics with the correct transactions. The third pattern, Diagnostic Types, helps ensure uniformity of presentation for all diagnostics. It also allows the software to handle various diagnostics differently, depending on characteristics such as error severity.