- never took logging seriously, coming from a frontend background
- never paid for a service to keep all my logs (always seemed too expensive)
- started having an app used hundreds of time a day to do stuff with multiple complex processes interacting with each other (thousands of digests sent per day with Mailbrew, hundreds of threads published daily with Typefully)
- debugging without great logging in such a complex becomes impossible
- how to log
- where to log to
- now, when I work on a new feature, I bake logs in from the start and don't delete them when I am done. At most I adjust the logging level for the module where the feature belongs.
I started my programming career as a frontend engineer.
Creating, scaling and running Mailbrew and Typefully turned me into a full-fledge backend engineer and made me appreciate the usefulness of thorough, timestamped, searchable logs.
Logs allow you to debug remote systems at scale. Having a trace of complex code flows that run thousands of times per day makes a huge difference when the unexpected happens.
Logs should be written while creating a new system and kept afterwards, with the proper levels set.
now, when I work on a new feature, I bake logs in from the start and don't delete them when I am done. At most I adjust the logging level for the module where the feature belongs.