In 2025 WPILib appears to be introducing a lot of the features from Monologue, specifically the annotation based logging.
This looks really nice, but our team likes to use imperative logging in most cases as it both is more clear where it is happening in the code and allows us to conditionally log based on other factors.
Monologue supported this with a this.log() method as seen in their documentation, but I have not been able to find a way to do it in a similarly seamless way with the new 2025 WPILib beta. Is there a good way to do this with just a method call?
In 2025 Monologue will be updated to work with Epilogue machinery while also still fully supporting its own system. Monologue will also have Monologue.log("fullyQualfiedKey", value) to do logging from anywhere.
The idea is 2025 monologue will opportunistically take advantage of Epliogue logging machinery for the best possible performance but still allow you to do implements Logged anywhere in the program’s “tree” and get access to the imperative this.log method calls.
I ran the 2025 monologue (excluding the epilogue interop) at my last offseason. It was faster and less brittle in its behavior compared to 2024 so it will be done soonish with an announcement.
I will also shout out dog log as a possible substitute.
(to clarify monologue will still be doing the updating and you won’t call Epilogue.bind if using Monologue.