Logging Best Practices

A great aricle by someone called Thomas about how to build useful logs. I find the inclusion of examples to be very useful, and the background information in the introduction is a nice addition.

Past tense only

  • Most stuff should be past tense.

  • Say what happened, not what is about to happen. This makes it much more explicit and easier to read. The reader doesn't need to infer anything.

Separate messages and parameter values

  • Think about how you might search for parameter values - if they are interspersed between normal English sentences it becomes harder to search for.

  • Also consider readability if the parameters are very long or harder to read literally.

Warnings are for things that worked

  • The thing was done, but not perfectly.

Errors are for things that did not work

  • The thing wasn't done.

Info is for business

  • The info log looks like a book and reads like a story.

  • It tells you what happened, but not necessarily how it happened.

  • User x signed up

  • User x bought an item

  • User x navigated to settings

Debug is for technology

  • It tells you how stuff happened.

  • Saved user credentials

  • Started cron job