Hacker News new | ask | show | jobs
Show HN: Echopraxia, a better Java Logging API
10 points by wsargent 1628 days ago
I've been working on logging for a while and I've released and open sourced a new Java logging API I'm really happy with.

Echopraxia [1] is a Java logging API like SLF4J, but built around structured logging, i.e. the basic log entry is a JSON object and log files are typically NDJSON. It also has conditions, context, and also has semantic and fluent logging options.

Here's a Spring Boot Example [2].

And here's my blog post [3].

[1] https://github.com/tersesystems/echopraxia

[2] https://github.com/tersesystems/echopraxia-spring-boot-example

[3] https://tersesystems.com/blog/2022/01/02/echopraxia-a-better-java-logging-api/

2 comments

This looks like an interesting idea, especially on top of JUL which sucks a bit (but is a standard now). One thing I would recommend is benchmarking on the front page. This looks like something that has some overhead. e.g. the list syntax. I suggest doing several overhead benchmarks to quantify the overhead/saving with various VMs/logging configurations.
Here are the benchmarks [1] using a no-op appender. There are some micro-optimizations I can make, but I think this is a pretty good start.

https://github.com/tersesystems/echopraxia/blob/main/BENCHMA...

I'll add that. I do have the benchmarking from Blindsight, the Scala logging API, and it's on the order of nanoseconds:

https://tersesystems.github.io/blindsight/performance/benchm...

Echopraxia is also a pretty interesting hard scifi book by Petter Watts - do check it out. (https://www.goodreads.com/book/show/18490708-echopraxia)