Skip to content

Commit 81fdde1

Browse files
authored
refactor: Updated pino instrumentation to separate the wrapping of asJson into its own function (#2464)
1 parent a4570e9 commit 81fdde1

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

lib/instrumentation/pino/pino.js

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ const {
1515
} = require('../../util/application-logging')
1616
const semver = require('semver')
1717

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

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

37+
wrapAsJson({ shim, tools })
38+
}
39+
40+
/**
41+
* Wraps `asJson` to properly decorate and forward logs
42+
*
43+
* @param {object} params to function
44+
* @param {Shim} params.shim instance of shim
45+
* @param {object} params.tools exported `pino/lib/tools`
46+
*/
47+
function wrapAsJson({ shim, tools }) {
3848
const symbols = shim.require('./lib/symbols')
49+
const { agent } = shim
50+
const { config, metrics } = agent
3951

4052
shim.wrap(tools, 'asJson', function wrapJson(shim, asJson) {
4153
/**
@@ -98,16 +110,14 @@ module.exports = function instrument(shim, tools) {
98110
* reformats error and assigns NR context data
99111
* to log line
100112
*
101-
* @param logLine.logLine
102-
* @param {object} logLine log line
103-
* @param {object} metadata NR context data
104-
* @param {string} chindings serialized string of all common log line data
105-
* @param logLine.args
106-
* @param logLine.agent
107-
* @param logLine.chindings
108-
* @param logLine.msg
109-
* @param logLine.level
110-
* @param logLine.logger
113+
* @param {object} params to function
114+
* @param {object} params.logLine log line
115+
* @param {string} params.msg message of log line
116+
* @param {object} params.agent instance of agent
117+
* @param {string} params.chindings serialized string of all common log line data
118+
* @param {string} params.level log level
119+
* @param {object} params.logger instance of agent logger
120+
* @returns {function} wrapped log formatter function
111121
*/
112122
function reformatLogLine({ logLine, msg, agent, chindings = '', level, logger }) {
113123
const metadata = agent.getLinkingMetadata()

0 commit comments

Comments
 (0)