New Tiny Project: Wink Chattiness Patch
Mon Sep 18 17:24:06 EDT 2023
I've been using the Domino 14 betas for development for a while now, and one of the things that has driven me a little nuts is the way Wink spews a bunch of INFO-level logs to the server console when the XPages runtime initializes. You've probably seen it - this stuff:
It goes on for a while like that.
This isn't new with 14 as such - it's just that 14 now ships with Verse by default, and Verse uses the Wink distribution that came along with the Extension Library, and so now everyone sees this.
I had encountered this before, back when one of my client projects used Wink before transitioning to what became the XPages JEE project. Back then, I wrote a shim in the project's Activator to reflectively insert replacements for each logger object. After seeing these messages from Verse for the millionth time, I decided to dust that off and turn it into a little project.
Thus was born the Wink Chattiness Patch, a project with an expected single release that has a simple purpose: when installed, it makes Wink less annoying.
This version is actually a bit more clever than the original from my client project. Part of that was born out of necessity: originally, the shim involved writing to final
fields in classes, but that's no longer possible (normally) since Java 12, so that path was out. Instead, now I pre-populate the internal Logger
cache with my shim objects. I also made them a bit better: rather than just lessening the threshold for logging from INFO to WARN, they redirect to java.util.logging, which then will log to error-log-*.xml as appropriate, like other parts of the XPages stack.
Ideally, HCL will improve this themselves (I recommend they look at replacing slf4j-simple
in the Wink bundle with slf4j-jdk14
, which is probably the most-expedient path), but, failing that, this patch should make your Domino console just a bit less hairy.