Files
boc/services/frilans-payout/node_modules/pino/test/hooks.test.js
T
Bernt 1a12fb870b dev-api: add developer portal, OpenAPI spec, and Flatenbadet case study
- New /developers/ page with API docs, SDKs, pricing, use cases
- OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics
- Case study: Glasskiosken i Flatenbadet — complete ROI analysis
- Updated /order/ with recurring missions and frequency dropdown
2026-07-14 15:27:33 +00:00

98 lines
2.1 KiB
JavaScript

'use strict'
const tap = require('tap')
const { sink, once } = require('./helper')
const pino = require('../')
tap.test('log method hook', t => {
t.test('gets invoked', async t => {
t.plan(8)
const stream = sink()
const logger = pino({
hooks: {
logMethod (args, method, level) {
t.type(args, Array)
t.type(level, 'number')
t.equal(args.length, 3)
t.equal(level, this.levels.values.info)
t.same(args, ['a', 'b', 'c'])
t.type(method, Function)
t.equal(method.name, 'LOG')
method.apply(this, [args.join('-')])
}
}
}, stream)
const o = once(stream, 'data')
logger.info('a', 'b', 'c')
t.match(await o, { msg: 'a-b-c' })
})
t.test('fatal method invokes hook', async t => {
t.plan(2)
const stream = sink()
const logger = pino({
hooks: {
logMethod (args, method) {
t.pass()
method.apply(this, [args.join('-')])
}
}
}, stream)
const o = once(stream, 'data')
logger.fatal('a')
t.match(await o, { msg: 'a' })
})
t.test('children get the hook', async t => {
t.plan(4)
const stream = sink()
const root = pino({
hooks: {
logMethod (args, method) {
t.pass()
method.apply(this, [args.join('-')])
}
}
}, stream)
const child = root.child({ child: 'one' })
const grandchild = child.child({ child: 'two' })
let o = once(stream, 'data')
child.info('a', 'b')
t.match(await o, { msg: 'a-b' })
o = once(stream, 'data')
grandchild.info('c', 'd')
t.match(await o, { msg: 'c-d' })
})
t.test('get log level', async t => {
t.plan(3)
const stream = sink()
const logger = pino({
hooks: {
logMethod (args, method, level) {
t.type(level, 'number')
t.equal(level, this.levels.values.error)
method.apply(this, [args.join('-')])
}
}
}, stream)
const o = once(stream, 'data')
logger.error('a')
t.match(await o, { msg: 'a' })
})
t.end()
})