JSON Formatted logging is becoming wide spread enough that it seems like we should support it as an option in Solr.
Assuming we upgrade to log4j >= 2.14.0 (
SOLR-15609) then this becomes possible for people to do by:
- downloading the log4j-layout-template-json.jar that corresponds with the lof4j version used by their solr version
- include the log4j-layout-template-json.jar in the (jetty) classpath via SOLR_OPTS (can't be loaded as a solr plugin because it needs to be used on startup)
- specify their own LOG4J_PROPS file that configures log4j to use a JsonTemplateLayout
..but steps #1 and #2 are a bit hairy. Particularly step #1 as it means every time users upgrade solr they have to pay careful attention to if/when the log4j deps change.
I would like to propose that we make this easier, by adding log4j-layout-template-json as a dependency for the "server" module, so that it is available out of the box when running solr – that way JSON logging can be enabled easily with a simple LOG4J_PROPS change.
- is blocked by
SOLR-15609 Upgrade log4j -> 2.14.1
- is related to
SOLR-14699 Solr request logs should escape names, values (SolrQueryResponse.getToLogAsString)
- Patch Available