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"} ]}