View on GitHub

json-log-domain

Library supporting JSON-logging with Logback and Stackdriver

JAX-RS automatic MDC-logging

This example show how to automatically populate MDC values from the Path expression of a JAX-RS service. In other words, a log definition file document containing a key

keys
  - id:
      name: Document id
      type: string
      description: The internal id of the document
      example: abc

and a REST service with a method

@GET
@Path("/{id}/hello")
@Logged(DocumentStoreMarker.class)
public String message(@PathParam("id") String id) {
	logger.info("Say hello");
	
	return "Hello " + id;
}

will automatically populate the MDC with the id. An HTTP request to /123/hello will result in log output.

{
  "message" : "Say hello",
  "document" : {
    "id" : "123"
  }
}

Constraints

The path identifiers must match keys used in the log definiton. In addition, Date types are not supported.