Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-49805

Prototype error telemetry logging with a Java Util Logger configuration

    XMLWordPrintable

Details

    • Task
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • evergreen
    • None
    • Evergreen - Milestone 1

    Description

      Per this discussion on jenkinsci-dev, we should prototype whether we can inject custom logger simply through the java.util.logging support already present in the JVM.

      The original thread I posted contains some requirements.

      I currently define "error telemetry" to include:

      • Uncaught exceptions which cause the Evil Jenkins 500 page
      • Logged ERROR messages, with or without exceptions
      • Logged WARN messages, with or without exceptions

      The big question I have in my mind is: can we inject some custom Java code (perhaps this has to be delivered via a plugin?) for reporting exceptions to the Evergreen services layer.

      Attachments

        Issue Links

          Activity

            rtyler R. Tyler Croy added a comment -

            Creating smaller task which we can keep in this board is reasonable to me, anything with the label "essentials" should show up. (outside of HOSTING request).

            Just don't make a Jira sub-task, those things are terrible

            rtyler R. Tyler Croy added a comment - Creating smaller task which we can keep in this board is reasonable to me, anything with the label "essentials" should show up. (outside of HOSTING request). Just don't make a Jira sub-task, those things are terrible
            batmat Baptiste Mathus added a comment - HOSTING-541 processed. Permission PR filed at https://github.com/jenkins-infra/repository-permissions-updater/pull/662

            As discussed on the chat Friday with rtyler, we need to enrich the JEP and prototype to see if/how to have a rotating log file implem to be closer to Apache logrotate for instance. Meaning: the file to read would always be, say, file.log, and the rotated ones would be file.log.1, file.log.2, and so on.

            batmat Baptiste Mathus added a comment - As discussed on the chat Friday with rtyler , we need to enrich the JEP and prototype to see if/how to have a rotating log file implem to be closer to Apache logrotate for instance. Meaning: the file to read would always be, say, file.log , and the rotated ones would be file.log.1 , file.log.2 , and so on.

            Some small adjustments to the now hosted plugin https://github.com/jenkinsci/essentials-plugin/pull/1

            batmat Baptiste Mathus added a comment - Some small adjustments to the now hosted plugin https://github.com/jenkinsci/essentials-plugin/pull/1

            So I'm going to close this, as I just checked we do implement the JEP.

            • JENKINS-50164 still blocks the implementation of some part of the "data segregation" part of the JEP, but will be enough already to track it. I'll adjust the image once it's approved & merged.
            • I also filed https://github.com/jenkinsci/jep/pull/80 to add some clarifications about log rotation expectations after a discussion with rtyler, and an overlook for the name field I had forgotten to put in the JSON logs
            batmat Baptiste Mathus added a comment - So I'm going to close this, as I just checked we do implement the JEP. JENKINS-50164 still blocks the implementation of some part of the "data segregation" part of the JEP, but will be enough already to track it. I'll adjust the image once it's approved & merged. I also filed https://github.com/jenkinsci/jep/pull/80  to add some clarifications about log rotation expectations after a discussion with rtyler , and an overlook for the name field I had forgotten to put in the JSON logs

            People

              batmat Baptiste Mathus
              rtyler R. Tyler Croy
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: