Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
146 lines
3.1 KiB
Plaintext
146 lines
3.1 KiB
Plaintext
import pino from '../../pino'
|
|
import { expectType } from "tsd";
|
|
|
|
// Single
|
|
const transport = pino.transport({
|
|
target: '#pino/pretty',
|
|
options: { some: 'options for', the: 'transport' }
|
|
})
|
|
pino(transport)
|
|
|
|
expectType<pino.Logger>(pino({
|
|
transport: {
|
|
target: 'pino-pretty'
|
|
},
|
|
}))
|
|
|
|
// Multiple
|
|
const transports = pino.transport({targets: [
|
|
{
|
|
level: 'info',
|
|
target: '#pino/pretty',
|
|
options: { some: 'options for', the: 'transport' }
|
|
},
|
|
{
|
|
level: 'trace',
|
|
target: '#pino/file',
|
|
options: { destination: './test.log' }
|
|
}
|
|
]})
|
|
pino(transports)
|
|
|
|
expectType<pino.Logger>(pino({
|
|
transport: {targets: [
|
|
{
|
|
level: 'info',
|
|
target: '#pino/pretty',
|
|
options: { some: 'options for', the: 'transport' }
|
|
},
|
|
{
|
|
level: 'trace',
|
|
target: '#pino/file',
|
|
options: { destination: './test.log' }
|
|
}
|
|
]},
|
|
}))
|
|
|
|
const transportsWithCustomLevels = pino.transport({targets: [
|
|
{
|
|
level: 'info',
|
|
target: '#pino/pretty',
|
|
options: { some: 'options for', the: 'transport' }
|
|
},
|
|
{
|
|
level: 'foo',
|
|
target: '#pino/file',
|
|
options: { destination: './test.log' }
|
|
}
|
|
], levels: { foo: 35 }})
|
|
pino(transports)
|
|
|
|
expectType<pino.Logger>(pino({
|
|
transport: {targets: [
|
|
{
|
|
level: 'info',
|
|
target: '#pino/pretty',
|
|
options: { some: 'options for', the: 'transport' }
|
|
},
|
|
{
|
|
level: 'trace',
|
|
target: '#pino/file',
|
|
options: { destination: './test.log' }
|
|
}
|
|
], levels: { foo: 35 }
|
|
},
|
|
}))
|
|
|
|
const transportsWithoutOptions = pino.transport({
|
|
targets: [
|
|
{ target: '#pino/pretty' },
|
|
{ target: '#pino/file' }
|
|
], levels: { foo: 35 }
|
|
})
|
|
pino(transports)
|
|
|
|
expectType<pino.Logger>(pino({
|
|
transport: {
|
|
targets: [
|
|
{ target: '#pino/pretty' },
|
|
{ target: '#pino/file' }
|
|
], levels: { foo: 35 }
|
|
},
|
|
}))
|
|
|
|
const pipelineTransport = pino.transport({
|
|
pipeline: [{
|
|
target: './my-transform.js'
|
|
}, {
|
|
// Use target: 'pino/file' to write to stdout
|
|
// without any change.
|
|
target: 'pino-pretty'
|
|
}]
|
|
})
|
|
pino(pipelineTransport)
|
|
|
|
expectType<pino.Logger>(pino({
|
|
transport: {
|
|
pipeline: [{
|
|
target: './my-transform.js'
|
|
}, {
|
|
// Use target: 'pino/file' to write to stdout
|
|
// without any change.
|
|
target: 'pino-pretty'
|
|
}]
|
|
}
|
|
}))
|
|
|
|
type TransportConfig = {
|
|
id: string
|
|
}
|
|
|
|
// Custom transport params
|
|
const customTransport = pino.transport<TransportConfig>({
|
|
target: 'custom',
|
|
options: { id: 'abc' }
|
|
})
|
|
pino(customTransport)
|
|
|
|
// Worker
|
|
pino.transport({
|
|
target: 'custom',
|
|
worker: {
|
|
argv: ['a', 'b'],
|
|
stdin: false,
|
|
stderr: true,
|
|
stdout: false,
|
|
autoEnd: true,
|
|
},
|
|
options: { id: 'abc' }
|
|
})
|
|
|
|
// Dedupe
|
|
pino.transport({
|
|
targets: [],
|
|
dedupe: true,
|
|
})
|