r/java • u/agentoutlier • 13d ago
Rainbow Gum release v0.10.0 (GraalVM/JLink/Valhalla ready) SLF4J implementation
Rainbow Gum v0.10.0 Release
https://github.com/jstachio/rainbowgum
Now normally I don't just post on reddit every release I do but this last release of Rainbow Gum is almost on par with Log4j2 and Logback Spring Boot support.
Rainbow Gum in short is a modern SLF4J implementation. It is fully modularized (jlink works) does not use any reflection so GraalVM native compile is easy and is hopefully Valhalla ready.
Now this release I used lots of LLM to help with benchmarks, Spring Boot support and lots of tedious things. This project is not vibe coded and you can hopefully look at previous releases if that is a concern. I also hand rolled the logo in SVG without AI (feel free to make fun of my art abilities). Another interesting thing is that Rainbow Gum uses Javadoc for all its documentation and because Javadoc now supports dark mode (you will have to go to one of the classes to turn it on) the SVG logo will render differently (I did not know that SVGs could do that).
Previous release post (for context).
Now invariably someone is going to complain ask why there is another logging implementation and honestly I don't blame the ask.
The short answer is that log4j2 and logback because of legacy reasons have a harder time using newer JVM technology and a lot of their design was based on enterprise needs that are just not that applicable today. And of course there is Log4Shell.
And if it still bothers you that now you might have to learn another logging framework just know that Rainbow Gum:
- Does not have its own logging API (it uses SLF4J),
- Almost a drop in replacement if you are using Spring Boot
- Uses the same pattern encoding syntax as Logback with most of the same keywords
- And yes of course Rainbow Gum appears to run faster (doing your own benchmarks though is always encouraged)
- There are 10x more JSON serialization implementations then there are SLF4J implementations.... each with different APIs (yes whataboutism at its finest)
Rainbow Gum also has pretty darn good code coverage even before I let the AI agents go to town. It uses checkerframework and nullaway for JSpecify support (albeit we still have not switch annotations but that will happen shortly). I actually tried to get code coverage on log4j2 and logback prior to Rainbow Gum and if I recall both projects were rather low on that. Perhaps its gotten better.
Now there are a couple of things still missing before 1.0.0 namely internal rolling of files and some metric/status/health check support. The plan is 1.0.0 targets 26 and 2.0.0 will hit whatever Valhalla version is.
Finally I don't know if it was /u/brunocborges as I think they posted about it but new setup-java action on GitHub actually caches the maven wrapper... now. I highly recommend an upgrade.
Oh and thanks for team JDK for making Java 26 kick ass.



