Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 21 additions & 11 deletions lib/instrumentation/pino/pino.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ const {
} = require('../../util/application-logging')
const semver = require('semver')

// eslint-disable-next-line sonarjs/cognitive-complexity
module.exports = function instrument(shim, tools) {
const pinoVersion = shim.pkgVersion

Expand All @@ -35,7 +34,20 @@ module.exports = function instrument(shim, tools) {
const metrics = agent.metrics
createModuleUsageMetric('pino', metrics)

wrapAsJson({ shim, tools })
}

/**
* Wraps `asJson` to properly decorate and forward logs
*
* @param {object} params to function
* @param {Shim} params.shim instance of shim
* @param {object} params.tools exported `pino/lib/tools`
*/
function wrapAsJson({ shim, tools }) {
const symbols = shim.require('./lib/symbols')
const { agent } = shim
const { config, metrics } = agent

shim.wrap(tools, 'asJson', function wrapJson(shim, asJson) {
/**
Expand Down Expand Up @@ -98,16 +110,14 @@ module.exports = function instrument(shim, tools) {
* reformats error and assigns NR context data
* to log line
*
* @param logLine.logLine
* @param {object} logLine log line
* @param {object} metadata NR context data
* @param {string} chindings serialized string of all common log line data
* @param logLine.args
* @param logLine.agent
* @param logLine.chindings
* @param logLine.msg
* @param logLine.level
* @param logLine.logger
* @param {object} params to function
* @param {object} params.logLine log line
* @param {string} params.msg message of log line
* @param {object} params.agent instance of agent
* @param {string} params.chindings serialized string of all common log line data
* @param {string} params.level log level
* @param {object} params.logger instance of agent logger
* @returns {function} wrapped log formatter function
*/
function reformatLogLine({ logLine, msg, agent, chindings = '', level, logger }) {
const metadata = agent.getLinkingMetadata()
Expand Down