Summary Understanding what is happening in a software system can be difficult, especially when you have inconsistent log messages. Itamar Turner-Trauring created Eliot to make it possible for your project to tell you a story about how transactions flow through your program. In this week’s episode we go deep on proper logging practices, anti patterns, and how to improve your ability to debug your software with log messages. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email hosts@podcastinit.com) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Itamar Turner-Trauring about Eliot, a library for managing complex logs across multiple processes. Interview Introductions How did you get introduced to Python? What is Eliot and what problem were you trying to solve by creating it? How is Eliot implemented and how has the design evolved since you first started working on it? Why is it so important to have a standardized format for your application logs? What are some of the anti-patterns that you consider to be the most harmful when developers are setting up logging in their projects? What have been the most challenging aspects of building and maintaining Eliot? How does Eliot compare to some of the other third party logging libraries available such as structlog or logbook? What are some of the improvements or additional features that you have planned for the future of Eliot? Keep In Touch Website @itamarst on Twitter Picks Tobias Moonshot Podcast Itamar Middlemarch by George Eliot Links Eliot Zope PHP OpenTracing Zipkin Carl De Marcken Sentry Elasticsearch Logstash Kibana Eliot-Tree Daniel Lebrero Flocker Context Local Variables PEP (PEP 550) Flamegraph Brendan Gregg DAG Structlog The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA