Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-1244

Make header and footer values customizable in JSONLayout

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.6
    • Layouts
    • None

    Description

      It will be helpful to provide a way to customize header and footer in JSONLayout in Log4j 2.

      For instance user is writing a logging application which logs requests and responses to/from a server to log files in JSON format. Now user also wants to log server specific information in each log file but since it will be common for all request/response, it is not desired to be logged with each log entry so user wants to add server specific common information at start of the file. As header in JSON format or in this use case. This will be followed by each request and response logged as a JSON array element. And at rollover this JSON array and main JSON object (which contains header and JSON array) should be closed with help of footer.

      A typical file will be something like ...

      {"Header":{"ServerName":"MyAppServer"},"LogEntries":[
      {"Message":"Request message1","RequestingAddress":"127.0.0.1","TimeStamp":"2016-01-05_07-24-59"},
      {"Message":"Request message1","RequestingAddress":"127.0.0.1","TimeStamp":"2016-01-05_07-24-59"},
      {"Message":"Request message1","RequestingAddress":"127.0.0.1","TimeStamp":"2016-01-05_07-24-59"},
      {"LogEndMarker":"END"}
      ]}
      

      Attachments

        1. log4j2.xml
          0.5 kB
          Anshu Garg
        2. Log4j2-1244JSONTest.log
          0.8 kB
          Anshu Garg
        3. logging-log4j2.patch
          42 kB
          Gary D. Gregory

        Activity

          People

            ggregory Gary D. Gregory
            iha Anshu Garg
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: