After working with Go in multiple projects (casus-belli
, analysis
,
coffeetalk
, Ignite), one of the things I missed was a nicer
human-readable log output format. So when Go added structured logging to its standard library, I
took the opportunity to write my own log handler! With help from an
amazing guide
written by one of the Go maintainers, I created devlog
, a structured log handler with an output
format designed for readability in local development. I now use this in all my Go projects where I
need logging.
Later, I started writing more and more Rust (see gadd
), and there too I found myself
missing nicer log output formats. So I decided to write my own log subscriber for tracing
, one
of the most popular logging libraries for Rust, to use the same output format as my Go library. And
so, devlog-tracing
was born.
Finally, after starting my job at Liflig, I started writing Kotlin for the backend. I
found myself unhappy with the logging library we were using at the time, and so I decided to write
yet another version of devlog
. This implementation is a thin wrapper over the standard Java
logging libraries SLF4J and Logback, but with a more ergonomic API for Kotlin.
hermannm/devlog
hermannm/devlog-tracing
hermannm/devlog-kotlin