Listen "149: Elixir's new Unified Logger"
Episode Synopsis
Hauleth (Łukasz Jan Niemier) takes us deeper into the Elixir and Erlang loggers. He recently closed a 3.5 year old bug on the ElixirLang Github project by unifying the Elixir logger with the logger that Erlang got in OTP 21. We touch on the history, why it took so long, what we should think of the new logging levels, and what the original goals were that he set out to achieve. We also get an introduction to the new logging filters and handlers along with some peeks into future Erlang logging features that may still be yet to come in Elixir!
Show Notes online - http://podcast.thinkingelixir.com/149 (http://podcast.thinkingelixir.com/149)
Elixir Community News
- https://podcast.thinkingelixir.com/73 (https://podcast.thinkingelixir.com/73?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Paul Copplestone about Elixir and Supabase
- https://twitter.com/kiwicopple/status/1646918873445195783 (https://twitter.com/kiwicopple/status/1646918873445195783?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase had their own release week. Paul shared his favorite one.
- https://supabase.com/blog/dbdev (https://supabase.com/blog/dbdev?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase blog post about dbdev - a Postgres extension package manager
- https://database.dev/installer (https://database.dev/installer?utm_source=thinkingelixir&utm_medium=shownotes) – Database.dev is the dedicated site for dbdev
- https://twitter.com/josevalim/status/1649001076404768768 (https://twitter.com/josevalim/status/1649001076404768768?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared the Livebook notebook used during his ElixirConf EU presentation
- https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd (https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd?utm_source=thinkingelixir&utm_medium=shownotes) – José's Livebook from his presentation
- https://twitter.com/visual_partner/status/1648979346491580416 (https://twitter.com/visual_partner/status/1648979346491580416?utm_source=thinkingelixir&utm_medium=shownotes) – Visual drawing created from José's ElixirConf EU keynote
- https://twitter.com/livebookdev/status/1648328527026987008 (https://twitter.com/livebookdev/status/1648328527026987008?utm_source=thinkingelixir&utm_medium=shownotes) – New Livebook KinoDiff feature makes it easy to visually display a diff between two strings in Livebook.
- https://twitter.com/theerlef/status/1649442881302822915 (https://twitter.com/theerlef/status/1649442881302822915?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 26 RC 3
- https://www.erlang.org/news/163 (https://www.erlang.org/news/163?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post for Erlang/OTP 26.0 Release Candidate 3
- https://www.erlang.org/blog/more-optimizations/ (https://www.erlang.org/blog/more-optimizations/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post on Erlang website about OTP 26 optimizations in the compiler and JIT
- https://twitter.com/michalmuskala/status/1650511805339381763 (https://twitter.com/michalmuskala/status/1650511805339381763?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang library called “erlfuzz” was released.
- https://erlangforums.com/t/open-sourcing-erlfuzz/2562 (https://erlangforums.com/t/open-sourcing-erlfuzz/2562?utm_source=thinkingelixir&utm_medium=shownotes) – Erlfuzz forum post. It is a fuzzer for Erlang code and the BEAM.
- https://github.com/evadne/emporium (https://github.com/evadne/emporium?utm_source=thinkingelixir&utm_medium=shownotes) – Evadne Wu released an Elixir example application that walks through a variety of Elixir ML operations
- https://paraxial.io/blog/sobelow-guide (https://paraxial.io/blog/sobelow-guide?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post from Paraxial.io on a guide to using Sobelow
- https://github.com/paraxialio/sobelow_guide (https://github.com/paraxialio/sobelow_guide?utm_source=thinkingelixir&utm_medium=shownotes) – Github readme explains more about Sobelow findings and how to correct them.
- https://github.com/woutdp/live_svelte (https://github.com/woutdp/live_svelte?utm_source=thinkingelixir&utm_medium=shownotes) – A new project called LiveSvelte was released. Helps integrate using Sevelte front-end JS with a LiveView
- https://wout.space/notes/live-svelte (https://wout.space/notes/live-svelte?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about live_svelte
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://twitter.com/whatyouhide/status/1626544505506656257 (https://twitter.com/whatyouhide/status/1626544505506656257?utm_source=thinkingelixir&utm_medium=shownotes) – PR that closed a 3.5yo Elixir issue on unifying Erlang and Elixir loggers.
- https://github.com/elixir-lang/elixir/issues/9465 (https://github.com/elixir-lang/elixir/issues/9465?utm_source=thinkingelixir&utm_medium=shownotes) – Github Issue “Further unify logger and Logger”
- https://www.erlang.org/doc/man/logger.html (https://www.erlang.org/doc/man/logger.html?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang logger docs. Referenced.
- https://hexdocs.pm/logger/main/Logger.html (https://hexdocs.pm/logger/main/Logger.html?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir logger docs (able to see the “1.15.0-dev” version)
- https://www.erlang.org/doc/apps/sasl/ (https://www.erlang.org/doc/apps/sasl/?utm_source=thinkingelixir&utm_medium=shownotes) – SASL Logging docs
- https://www.eiger.co/ (https://www.eiger.co/?utm_source=thinkingelixir&utm_medium=shownotes)
- https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused?utm_source=thinkingelixir&utm_medium=shownotes)
- https://github.com/hauleth/erlang-systemd (https://github.com/hauleth/erlang-systemd?utm_source=thinkingelixir&utm_medium=shownotes)
- https://systemd.io/ (https://systemd.io/?utm_source=thinkingelixir&utm_medium=shownotes)
- https://github.com/erlang-lager/lager (https://github.com/erlang-lager/lager?utm_source=thinkingelixir&utm_medium=shownotes)
- https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html (https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html?utm_source=thinkingelixir&utm_medium=shownotes)
- OTP 21 added built-in logging
- https://www.erlang.org/doc/man/logger_filters.html (https://www.erlang.org/doc/man/logger_filters.html?utm_source=thinkingelixir&utm_medium=shownotes)
- https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes)
Guest Information
- https://twitter.com/hauleth (https://twitter.com/hauleth?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter
- https://github.com/hauleth/ (https://github.com/hauleth/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github
- https://fosstodon.org/@hauleth (https://fosstodon.org/@hauleth?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse
- https://hauleth.dev (https://hauleth.dev?utm_source=thinkingelixir&utm_medium=shownotes) – Blog
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Message the show on Fediverse - @[email protected] (https://genserver.social/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- Mark Ericksen on Fediverse - @[email protected] (https://genserver.social/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- David Bernheisel on Fediverse - @[email protected] (https://genserver.social/dbern)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
- Cade Ward on Fediverse - @[email protected] (https://genserver.social/cadebward)
Show Notes online - http://podcast.thinkingelixir.com/149 (http://podcast.thinkingelixir.com/149)
Elixir Community News
- https://podcast.thinkingelixir.com/73 (https://podcast.thinkingelixir.com/73?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Paul Copplestone about Elixir and Supabase
- https://twitter.com/kiwicopple/status/1646918873445195783 (https://twitter.com/kiwicopple/status/1646918873445195783?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase had their own release week. Paul shared his favorite one.
- https://supabase.com/blog/dbdev (https://supabase.com/blog/dbdev?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase blog post about dbdev - a Postgres extension package manager
- https://database.dev/installer (https://database.dev/installer?utm_source=thinkingelixir&utm_medium=shownotes) – Database.dev is the dedicated site for dbdev
- https://twitter.com/josevalim/status/1649001076404768768 (https://twitter.com/josevalim/status/1649001076404768768?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared the Livebook notebook used during his ElixirConf EU presentation
- https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd (https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd?utm_source=thinkingelixir&utm_medium=shownotes) – José's Livebook from his presentation
- https://twitter.com/visual_partner/status/1648979346491580416 (https://twitter.com/visual_partner/status/1648979346491580416?utm_source=thinkingelixir&utm_medium=shownotes) – Visual drawing created from José's ElixirConf EU keynote
- https://twitter.com/livebookdev/status/1648328527026987008 (https://twitter.com/livebookdev/status/1648328527026987008?utm_source=thinkingelixir&utm_medium=shownotes) – New Livebook KinoDiff feature makes it easy to visually display a diff between two strings in Livebook.
- https://twitter.com/theerlef/status/1649442881302822915 (https://twitter.com/theerlef/status/1649442881302822915?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 26 RC 3
- https://www.erlang.org/news/163 (https://www.erlang.org/news/163?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post for Erlang/OTP 26.0 Release Candidate 3
- https://www.erlang.org/blog/more-optimizations/ (https://www.erlang.org/blog/more-optimizations/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post on Erlang website about OTP 26 optimizations in the compiler and JIT
- https://twitter.com/michalmuskala/status/1650511805339381763 (https://twitter.com/michalmuskala/status/1650511805339381763?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang library called “erlfuzz” was released.
- https://erlangforums.com/t/open-sourcing-erlfuzz/2562 (https://erlangforums.com/t/open-sourcing-erlfuzz/2562?utm_source=thinkingelixir&utm_medium=shownotes) – Erlfuzz forum post. It is a fuzzer for Erlang code and the BEAM.
- https://github.com/evadne/emporium (https://github.com/evadne/emporium?utm_source=thinkingelixir&utm_medium=shownotes) – Evadne Wu released an Elixir example application that walks through a variety of Elixir ML operations
- https://paraxial.io/blog/sobelow-guide (https://paraxial.io/blog/sobelow-guide?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post from Paraxial.io on a guide to using Sobelow
- https://github.com/paraxialio/sobelow_guide (https://github.com/paraxialio/sobelow_guide?utm_source=thinkingelixir&utm_medium=shownotes) – Github readme explains more about Sobelow findings and how to correct them.
- https://github.com/woutdp/live_svelte (https://github.com/woutdp/live_svelte?utm_source=thinkingelixir&utm_medium=shownotes) – A new project called LiveSvelte was released. Helps integrate using Sevelte front-end JS with a LiveView
- https://wout.space/notes/live-svelte (https://wout.space/notes/live-svelte?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about live_svelte
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://twitter.com/whatyouhide/status/1626544505506656257 (https://twitter.com/whatyouhide/status/1626544505506656257?utm_source=thinkingelixir&utm_medium=shownotes) – PR that closed a 3.5yo Elixir issue on unifying Erlang and Elixir loggers.
- https://github.com/elixir-lang/elixir/issues/9465 (https://github.com/elixir-lang/elixir/issues/9465?utm_source=thinkingelixir&utm_medium=shownotes) – Github Issue “Further unify logger and Logger”
- https://www.erlang.org/doc/man/logger.html (https://www.erlang.org/doc/man/logger.html?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang logger docs. Referenced.
- https://hexdocs.pm/logger/main/Logger.html (https://hexdocs.pm/logger/main/Logger.html?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir logger docs (able to see the “1.15.0-dev” version)
- https://www.erlang.org/doc/apps/sasl/ (https://www.erlang.org/doc/apps/sasl/?utm_source=thinkingelixir&utm_medium=shownotes) – SASL Logging docs
- https://www.eiger.co/ (https://www.eiger.co/?utm_source=thinkingelixir&utm_medium=shownotes)
- https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused?utm_source=thinkingelixir&utm_medium=shownotes)
- https://github.com/hauleth/erlang-systemd (https://github.com/hauleth/erlang-systemd?utm_source=thinkingelixir&utm_medium=shownotes)
- https://systemd.io/ (https://systemd.io/?utm_source=thinkingelixir&utm_medium=shownotes)
- https://github.com/erlang-lager/lager (https://github.com/erlang-lager/lager?utm_source=thinkingelixir&utm_medium=shownotes)
- https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html (https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html?utm_source=thinkingelixir&utm_medium=shownotes)
- OTP 21 added built-in logging
- https://www.erlang.org/doc/man/logger_filters.html (https://www.erlang.org/doc/man/logger_filters.html?utm_source=thinkingelixir&utm_medium=shownotes)
- https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes)
Guest Information
- https://twitter.com/hauleth (https://twitter.com/hauleth?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter
- https://github.com/hauleth/ (https://github.com/hauleth/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github
- https://fosstodon.org/@hauleth (https://fosstodon.org/@hauleth?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse
- https://hauleth.dev (https://hauleth.dev?utm_source=thinkingelixir&utm_medium=shownotes) – Blog
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Message the show on Fediverse - @[email protected] (https://genserver.social/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- Mark Ericksen on Fediverse - @[email protected] (https://genserver.social/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- David Bernheisel on Fediverse - @[email protected] (https://genserver.social/dbern)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
- Cade Ward on Fediverse - @[email protected] (https://genserver.social/cadebward)
More episodes of the podcast Thinking Elixir Podcast
283: Erlang Turns 27 and React at Risk
16/12/2025
282: Type Systems and View Transitions
09/12/2025
281: Planning for the Unexpected
02/12/2025
280: Dark Matter Developers
25/11/2025
279: Hot Code Upgrades and Hotter AI Takes
18/11/2025
278: WAL-ing Through Database Changes
11/11/2025
277: Searching Across the Hexiverse
04/11/2025
276: Elixir v1.19 Types and Speed
28/10/2025
275: From Slop to Success?
21/10/2025
274: Protocols, Permissions, and Performance
14/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.