Status: Resolved (View Workflow)
Upon upgrading from 2.176 to 2.177, it would appear that support for providing a custom log format has been broken, due to what looks like an undocumented change (https://github.com/jenkinsci/winstone/pull/63) in the Winstone library.
.level=ALL handlers=java.util.logging.ConsoleHandler java.util.logging.SimpleFormatter.format=[%1$tF %1$tT.%1$tL][%4$s][%2$s] %5$s %6$s%n java.util.logging.ConsoleHandler.level=INFO java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
I've also added the following JVM argument:
Log format with 2.176:
[2019-06-06 15:10:07.881][INFO][jenkins.InitReactorRunner$1 onAttained] Completed initialization [2019-06-06 15:10:08.052][INFO][hudson.WebAppMain$3 run] Jenkins is fully up and running
Log format with 2.177:
2019-06-06 15:11:40.956+0000 [id=29] INFO jenkins.InitReactorRunner$1#onAttained: Completed initialization 2019-06-06 15:11:41.136+0000 [id=20] INFO hudson.WebAppMain$3#run: Jenkins is fully up and running
JENKINS-60857 Wildcard certificates rejected by Winstone after Jetty update
- links to
The new formatter is deliberate. There could be a Winstone option to select an alternate formatter if someone cares to write it, or perhaps just by disabling the new formatter when java.util.logging.config.file is defined.
Yes, that would be possible.
I'm wondering, though, why the standard java behavior is overridden. It's not something one would expect.
It was released in 2.218, thanks to l_r! I will mark it as LTS candidate, but it would require Winstone backporting due to the
JENKINS-60857 regressions in 5.6. If olivergondza decides it is important enough, I will do such backporting.
This will be reverted in 2.204.5 as it has caused regressions much more impactfull.
To be clear, it was not this fix which caused the regressions, but unrelated changes in winstone.
Is there a workaround to be able to provide a ConsoleHandler formatter?
If not, I'll be submitting a PR removing the overriding of it.
It will still be possible to set the formatter from the command line or the logging.properties as usual.
What do you think?