DevFacto LogoSD&D Delivery Guide

Logging

Logging is essential for troubleshooting and gaining insight into the health of applications. You'll get huge benefit from setting this up early and using it even early in development, but it must be set up before going to production.

Exception logging

Every application should log unexpected errors to enable maintainers to troubleshoot. This should be considered absolutely necessary.

Traces

It's often useful to write trace information for debugging and providing insight into more complex code. For example, if you have a scheduled job that runs every day and performs some tasks, logging at something simple like 24 emails sent to newsletter subscribers or 9/10 tasks ready to process at information level would really help people to see that the system is working as expected (or not).

Analytics

To take your logging game to the next level, it's immensely beneficial to start tracking actions that users initiate or events that occur in your system. Knowing that only 2% of users sort a table by date, but 50% sort by status might help you have better conversations about priority and what to do with the remaining budget and make you look 100x smarter.

Alerts

Modern cloud logging solutions typically support alerts and can be used to help maintainers be proactive instead of reactive. Setting up alerts to notify on an increase in error frequency, performance degradation, or site availability is huge when you're maintaining something. Consider adding a few simple alerts during development to send emails or post to your project Teams channel to help you see things your testers aren't telling you and to improve quality.

previous

Infrastructure as Code