Skip to content

[JENKINS-57888] Custom log format broken by 2.177 #20454

Closed

Description

@jenkins-infra-bot

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 (jenkinsci/winstone#63) in the Winstone library. 

Logging.properties file:

.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:

-Djava.util.logging.config.file=/var/lib/jenkins/logging.properties

 

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


Originally reported by fatmcgav, imported from: Custom log format broken by 2.177
  • assignee: l_r
  • status: Resolved
  • priority: Major
  • component(s): core, winstone-jetty
  • label(s): 2.204.3-fixed, 2.204.5-rejected, 2.222.1-fixed, non-trivial-lts-backporting, regression
  • resolution: Fixed
  • resolved: 2020-01-27T22:43:37+00:00
  • votes: 3
  • watchers: 8
  • imported: 2025-11-24
Raw content of original issue

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 (jenkinsci/winstone#63) in the Winstone library. 

Logging.properties file:

.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:

-Djava.util.logging.config.file=/var/lib/jenkins/logging.properties

 

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

Activity

  1. jenkins-infra-bot commented on Jun 6, 2019

    @jenkins-infra-bot
    Author
  2. jenkins-infra-bot commented on Jan 15, 2020

    @jenkins-infra-bot
    Author
    l_r:
    • Original comment link
    • Raw content of original comment:

      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?

    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?

  3. jenkins-infra-bot commented on Jan 15, 2020

    @jenkins-infra-bot
    Author
    jglick:
    • Original comment link
    • Raw content of original comment:

      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.

    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.

  4. jenkins-infra-bot commented on Jan 16, 2020

    @jenkins-infra-bot
    Author
    l_r:
    • Original comment link
    • Raw content of original comment:

      Yes, that would be possible.

      I'm wondering, though, why the standard java behavior is overridden. It's not something one would expect.

    Yes, that would be possible.

    I'm wondering, though, why the standard java behavior is overridden. It's not something one would expect.

  5. jenkins-infra-bot commented on Jan 27, 2020

    @jenkins-infra-bot
    Author
    oleg_nenashev:
    • Original comment link
    • Raw content of original comment:

      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. 

    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. 

  6. jenkins-infra-bot commented on Mar 6, 2020

    @jenkins-infra-bot
    Author
    olivergondza:
    • Original comment link
    • Raw content of original comment:

      This will be reverted in 2.204.5 as it has caused regressions much more impactfull.

    This will be reverted in 2.204.5 as it has caused regressions much more impactfull.

  7. jenkins-infra-bot commented on Mar 6, 2020

    @jenkins-infra-bot
    Author
    jglick:
    • Original comment link
    • Raw content of original comment:

      To be clear, it was not this fix which caused the regressions, but unrelated changes in winstone.

    To be clear, it was not this fix which caused the regressions, but unrelated changes in winstone.

  8. removed
    bugFor changelog: Minor bug. Will be listed after features
    on Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions