To correlate log data with other telemetry data, such as errors and distributed traces in APM, you can use APM logs in context. If your logging framework is not supported by our existing logs in context solutions, you can configure your logging libraries with our agent APIs.
APM agent trace metadata and linking metadata APIs
To get properly annotated logs for logs in context, use the following API calls for your APM agent. These APIs pass the required trace metadata and linking metadata to link your log data to other New Relic data.
APM agent APIs:
Did this doc help with your installation?
Resources for correctly annotating logs
For more information about using the trace metadata and linking metadata APIs to annotate logs for logs in context, review the APM agent specifications in GitHub. These specifications include the required fields and properly formatted output.
Also, review the source code for our own manually installed logs in context extensions to see how we use these APIs:
- Go: Logs In Context Extensions
- Java: Log4j2 extension
- .NET: Serilog extension
- Node.js: Winston extension, Pino extension
- PHP: Monolog extension
- Python: Streamhandler example
- Ruby: logging.rb extension