chalk-config 0.0.1-security → 2.14.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of chalk-config might be problematic. Click here for more details.
- package/.eslintignore +2 -0
- package/.eslintrc +8 -0
- package/.github/dependabot.yml +13 -0
- package/.github/workflows/bench.yml +61 -0
- package/.github/workflows/ci.yml +88 -0
- package/.github/workflows/lock-threads.yml +30 -0
- package/.github/workflows/target-main.yml +23 -0
- package/.nojekyll +0 -0
- package/.prettierignore +1 -0
- package/.taprc.yaml +8 -0
- package/CNAME +1 -0
- package/CONTRIBUTING.md +30 -0
- package/LICENSE +21 -0
- package/README.md +159 -3
- package/SECURITY.md +68 -0
- package/benchmarks/basic.bench.js +95 -0
- package/benchmarks/child-child.bench.js +52 -0
- package/benchmarks/child-creation.bench.js +73 -0
- package/benchmarks/child.bench.js +62 -0
- package/benchmarks/deep-object.bench.js +88 -0
- package/benchmarks/formatters.bench.js +50 -0
- package/benchmarks/internal/custom-levels.js +67 -0
- package/benchmarks/internal/just-pino-heavy.bench.js +76 -0
- package/benchmarks/internal/just-pino.bench.js +182 -0
- package/benchmarks/internal/parent-vs-child.bench.js +75 -0
- package/benchmarks/internal/redact.bench.js +86 -0
- package/benchmarks/long-string.bench.js +81 -0
- package/benchmarks/multi-arg.bench.js +193 -0
- package/benchmarks/multistream.js +98 -0
- package/benchmarks/object.bench.js +82 -0
- package/benchmarks/utils/generate-benchmark-doc.js +36 -0
- package/benchmarks/utils/runbench.js +138 -0
- package/benchmarks/utils/wrap-log-level.js +55 -0
- package/bin.js +6 -0
- package/browser.js +484 -0
- package/build/sync-version.js +10 -0
- package/docs/api.md +1487 -0
- package/docs/asynchronous.md +40 -0
- package/docs/benchmarks.md +55 -0
- package/docs/browser.md +227 -0
- package/docs/bundling.md +40 -0
- package/docs/child-loggers.md +95 -0
- package/docs/ecosystem.md +84 -0
- package/docs/help.md +345 -0
- package/docs/lts.md +64 -0
- package/docs/pretty.md +35 -0
- package/docs/redaction.md +135 -0
- package/docs/transports.md +1238 -0
- package/docs/web.md +269 -0
- package/docsify/sidebar.md +26 -0
- package/examples/basic.js +43 -0
- package/examples/transport.js +68 -0
- package/favicon-16x16.png +0 -0
- package/favicon-32x32.png +0 -0
- package/favicon.ico +0 -0
- package/file.js +12 -0
- package/inc-version.sh +42 -0
- package/index.html +55 -0
- package/lib/caller.js +30 -0
- package/lib/constants.js +28 -0
- package/lib/deprecations.js +8 -0
- package/lib/levels.js +241 -0
- package/lib/meta.js +3 -0
- package/lib/multistream.js +188 -0
- package/lib/proto.js +234 -0
- package/lib/redaction.js +118 -0
- package/lib/symbols.js +74 -0
- package/lib/time.js +11 -0
- package/lib/tools.js +394 -0
- package/lib/transport-stream.js +56 -0
- package/lib/transport.js +167 -0
- package/lib/worker.js +194 -0
- package/lib/writer.js +42 -0
- package/package.json +118 -3
- package/pino-banner.png +0 -0
- package/pino-logo-hire.png +0 -0
- package/pino-tree.png +0 -0
- package/pino.d.ts +889 -0
- package/pino.js +236 -0
- package/pretty-demo.png +0 -0
- package/test/basic.test.js +874 -0
- package/test/broken-pipe.test.js +57 -0
- package/test/browser-child.test.js +132 -0
- package/test/browser-disabled.test.js +87 -0
- package/test/browser-early-console-freeze.test.js +12 -0
- package/test/browser-levels.test.js +241 -0
- package/test/browser-serializers.test.js +352 -0
- package/test/browser-timestamp.test.js +88 -0
- package/test/browser-transmit.test.js +417 -0
- package/test/browser.test.js +659 -0
- package/test/complex-objects.test.js +34 -0
- package/test/crlf.test.js +32 -0
- package/test/custom-levels.test.js +253 -0
- package/test/error.test.js +398 -0
- package/test/errorKey.test.js +34 -0
- package/test/escaping.test.js +91 -0
- package/test/esm/esm.mjs +12 -0
- package/test/esm/index.test.js +34 -0
- package/test/esm/named-exports.mjs +27 -0
- package/test/exit.test.js +77 -0
- package/test/fixtures/broken-pipe/basic.js +9 -0
- package/test/fixtures/broken-pipe/destination.js +10 -0
- package/test/fixtures/broken-pipe/syncfalse.js +12 -0
- package/test/fixtures/console-transport.js +13 -0
- package/test/fixtures/default-exit.js +8 -0
- package/test/fixtures/destination-exit.js +8 -0
- package/test/fixtures/eval/index.js +13 -0
- package/test/fixtures/eval/node_modules/14-files.js +3 -0
- package/test/fixtures/eval/node_modules/2-files.js +3 -0
- package/test/fixtures/eval/node_modules/file1.js +5 -0
- package/test/fixtures/eval/node_modules/file10.js +5 -0
- package/test/fixtures/eval/node_modules/file11.js +5 -0
- package/test/fixtures/eval/node_modules/file12.js +5 -0
- package/test/fixtures/eval/node_modules/file13.js +5 -0
- package/test/fixtures/eval/node_modules/file14.js +11 -0
- package/test/fixtures/eval/node_modules/file2.js +5 -0
- package/test/fixtures/eval/node_modules/file3.js +5 -0
- package/test/fixtures/eval/node_modules/file4.js +5 -0
- package/test/fixtures/eval/node_modules/file5.js +5 -0
- package/test/fixtures/eval/node_modules/file6.js +5 -0
- package/test/fixtures/eval/node_modules/file7.js +5 -0
- package/test/fixtures/eval/node_modules/file8.js +5 -0
- package/test/fixtures/eval/node_modules/file9.js +5 -0
- package/test/fixtures/noop-transport.js +10 -0
- package/test/fixtures/pretty/null-prototype.js +8 -0
- package/test/fixtures/stdout-hack-protection.js +11 -0
- package/test/fixtures/syncfalse-child.js +6 -0
- package/test/fixtures/syncfalse-exit.js +9 -0
- package/test/fixtures/syncfalse-flush-exit.js +10 -0
- package/test/fixtures/syncfalse.js +6 -0
- package/test/fixtures/syntax-error-esm.mjs +2 -0
- package/test/fixtures/to-file-transport-with-transform.js +20 -0
- package/test/fixtures/to-file-transport.js +13 -0
- package/test/fixtures/to-file-transport.mjs +8 -0
- package/test/fixtures/transport/index.js +12 -0
- package/test/fixtures/transport/package.json +5 -0
- package/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
- package/test/fixtures/transport-exit-immediately.js +11 -0
- package/test/fixtures/transport-exit-on-ready.js +12 -0
- package/test/fixtures/transport-main.js +9 -0
- package/test/fixtures/transport-many-lines.js +29 -0
- package/test/fixtures/transport-string-stdout.js +9 -0
- package/test/fixtures/transport-transform.js +21 -0
- package/test/fixtures/transport-uses-pino-config.js +33 -0
- package/test/fixtures/transport-with-on-exit.js +12 -0
- package/test/fixtures/transport-worker-data.js +19 -0
- package/test/fixtures/transport-worker.js +15 -0
- package/test/fixtures/transport-wrong-export-type.js +3 -0
- package/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
- package/test/fixtures/ts/to-file-transport.ts +11 -0
- package/test/fixtures/ts/transpile.cjs +36 -0
- package/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
- package/test/fixtures/ts/transport-exit-immediately.ts +10 -0
- package/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
- package/test/fixtures/ts/transport-main.ts +8 -0
- package/test/fixtures/ts/transport-string-stdout.ts +8 -0
- package/test/fixtures/ts/transport-worker.ts +14 -0
- package/test/formatters.test.js +355 -0
- package/test/helper.d.ts +4 -0
- package/test/helper.js +128 -0
- package/test/hooks.test.js +118 -0
- package/test/http.test.js +242 -0
- package/test/internals/version.test.js +15 -0
- package/test/is-level-enabled.test.js +185 -0
- package/test/jest/basic.spec.js +10 -0
- package/test/levels.test.js +772 -0
- package/test/metadata.test.js +106 -0
- package/test/mixin-merge-strategy.test.js +55 -0
- package/test/mixin.test.js +218 -0
- package/test/multistream.test.js +673 -0
- package/test/pkg/index.js +46 -0
- package/test/pkg/pkg.config.json +17 -0
- package/test/pkg/pkg.test.js +56 -0
- package/test/redact.test.js +847 -0
- package/test/serializers.test.js +253 -0
- package/test/stdout-protection.test.js +39 -0
- package/test/syncfalse.test.js +188 -0
- package/test/timestamp.test.js +121 -0
- package/test/transport/big.test.js +43 -0
- package/test/transport/bundlers-support.test.js +97 -0
- package/test/transport/caller.test.js +23 -0
- package/test/transport/core.test.js +644 -0
- package/test/transport/core.test.ts +236 -0
- package/test/transport/core.transpiled.test.ts +112 -0
- package/test/transport/module-link.test.js +239 -0
- package/test/transport/pipeline.test.js +135 -0
- package/test/transport/repl.test.js +14 -0
- package/test/transport/syncTrue.test.js +55 -0
- package/test/transport/syncfalse.test.js +68 -0
- package/test/transport/targets.test.js +44 -0
- package/test/transport/uses-pino-config.test.js +167 -0
- package/test/transport-stream.test.js +26 -0
- package/test/types/pino-import.test-d.ts +29 -0
- package/test/types/pino-multistream.test-d.ts +28 -0
- package/test/types/pino-top-export.test-d.ts +35 -0
- package/test/types/pino-transport.test-d.ts +145 -0
- package/test/types/pino-type-only.test-d.ts +64 -0
- package/test/types/pino.test-d.ts +468 -0
- package/test/types/pino.ts +78 -0
- package/tsconfig.json +14 -0
@@ -0,0 +1,352 @@
|
|
1
|
+
'use strict'
|
2
|
+
// eslint-disable-next-line
|
3
|
+
if (typeof $1 !== 'undefined') $1 = arguments.callee.caller.arguments[0]
|
4
|
+
|
5
|
+
const test = require('tape')
|
6
|
+
const fresh = require('import-fresh')
|
7
|
+
const pino = require('../browser')
|
8
|
+
|
9
|
+
const parentSerializers = {
|
10
|
+
test: () => 'parent'
|
11
|
+
}
|
12
|
+
|
13
|
+
const childSerializers = {
|
14
|
+
test: () => 'child'
|
15
|
+
}
|
16
|
+
|
17
|
+
test('serializers override values', ({ end, is }) => {
|
18
|
+
const parent = pino({
|
19
|
+
serializers: parentSerializers,
|
20
|
+
browser: {
|
21
|
+
serialize: true,
|
22
|
+
write (o) {
|
23
|
+
is(o.test, 'parent')
|
24
|
+
end()
|
25
|
+
}
|
26
|
+
}
|
27
|
+
})
|
28
|
+
|
29
|
+
parent.fatal({ test: 'test' })
|
30
|
+
})
|
31
|
+
|
32
|
+
test('without the serialize option, serializers do not override values', ({ end, is }) => {
|
33
|
+
const parent = pino({
|
34
|
+
serializers: parentSerializers,
|
35
|
+
browser: {
|
36
|
+
write (o) {
|
37
|
+
is(o.test, 'test')
|
38
|
+
end()
|
39
|
+
}
|
40
|
+
}
|
41
|
+
})
|
42
|
+
|
43
|
+
parent.fatal({ test: 'test' })
|
44
|
+
})
|
45
|
+
|
46
|
+
if (process.title !== 'browser') {
|
47
|
+
test('if serialize option is true, standard error serializer is auto enabled', ({ end, same }) => {
|
48
|
+
const err = Error('test')
|
49
|
+
err.code = 'test'
|
50
|
+
err.type = 'Error' // get that cov
|
51
|
+
const expect = pino.stdSerializers.err(err)
|
52
|
+
|
53
|
+
const consoleError = console.error
|
54
|
+
console.error = function (err) {
|
55
|
+
same(err, expect)
|
56
|
+
}
|
57
|
+
|
58
|
+
const logger = fresh('../browser')({
|
59
|
+
browser: { serialize: true }
|
60
|
+
})
|
61
|
+
|
62
|
+
console.error = consoleError
|
63
|
+
|
64
|
+
logger.fatal(err)
|
65
|
+
end()
|
66
|
+
})
|
67
|
+
|
68
|
+
test('if serialize option is array, standard error serializer is auto enabled', ({ end, same }) => {
|
69
|
+
const err = Error('test')
|
70
|
+
err.code = 'test'
|
71
|
+
const expect = pino.stdSerializers.err(err)
|
72
|
+
|
73
|
+
const consoleError = console.error
|
74
|
+
console.error = function (err) {
|
75
|
+
same(err, expect)
|
76
|
+
}
|
77
|
+
|
78
|
+
const logger = fresh('../browser', require)({
|
79
|
+
browser: { serialize: [] }
|
80
|
+
})
|
81
|
+
|
82
|
+
console.error = consoleError
|
83
|
+
|
84
|
+
logger.fatal(err)
|
85
|
+
end()
|
86
|
+
})
|
87
|
+
|
88
|
+
test('if serialize option is array containing !stdSerializers.err, standard error serializer is disabled', ({ end, is }) => {
|
89
|
+
const err = Error('test')
|
90
|
+
err.code = 'test'
|
91
|
+
const expect = err
|
92
|
+
|
93
|
+
const consoleError = console.error
|
94
|
+
console.error = function (err) {
|
95
|
+
is(err, expect)
|
96
|
+
}
|
97
|
+
|
98
|
+
const logger = fresh('../browser', require)({
|
99
|
+
browser: { serialize: ['!stdSerializers.err'] }
|
100
|
+
})
|
101
|
+
|
102
|
+
console.error = consoleError
|
103
|
+
|
104
|
+
logger.fatal(err)
|
105
|
+
end()
|
106
|
+
})
|
107
|
+
|
108
|
+
test('in browser, serializers apply to all objects', ({ end, is }) => {
|
109
|
+
const consoleError = console.error
|
110
|
+
console.error = function (test, test2, test3, test4, test5) {
|
111
|
+
is(test.key, 'serialized')
|
112
|
+
is(test2.key2, 'serialized2')
|
113
|
+
is(test5.key3, 'serialized3')
|
114
|
+
}
|
115
|
+
|
116
|
+
const logger = fresh('../browser', require)({
|
117
|
+
serializers: {
|
118
|
+
key: () => 'serialized',
|
119
|
+
key2: () => 'serialized2',
|
120
|
+
key3: () => 'serialized3'
|
121
|
+
},
|
122
|
+
browser: { serialize: true }
|
123
|
+
})
|
124
|
+
|
125
|
+
console.error = consoleError
|
126
|
+
|
127
|
+
logger.fatal({ key: 'test' }, { key2: 'test' }, 'str should skip', [{ foo: 'array should skip' }], { key3: 'test' })
|
128
|
+
end()
|
129
|
+
})
|
130
|
+
|
131
|
+
test('serialize can be an array of selected serializers', ({ end, is }) => {
|
132
|
+
const consoleError = console.error
|
133
|
+
console.error = function (test, test2, test3, test4, test5) {
|
134
|
+
is(test.key, 'test')
|
135
|
+
is(test2.key2, 'serialized2')
|
136
|
+
is(test5.key3, 'test')
|
137
|
+
}
|
138
|
+
|
139
|
+
const logger = fresh('../browser', require)({
|
140
|
+
serializers: {
|
141
|
+
key: () => 'serialized',
|
142
|
+
key2: () => 'serialized2',
|
143
|
+
key3: () => 'serialized3'
|
144
|
+
},
|
145
|
+
browser: { serialize: ['key2'] }
|
146
|
+
})
|
147
|
+
|
148
|
+
console.error = consoleError
|
149
|
+
|
150
|
+
logger.fatal({ key: 'test' }, { key2: 'test' }, 'str should skip', [{ foo: 'array should skip' }], { key3: 'test' })
|
151
|
+
end()
|
152
|
+
})
|
153
|
+
|
154
|
+
test('serialize filter applies to child loggers', ({ end, is }) => {
|
155
|
+
const consoleError = console.error
|
156
|
+
console.error = function (binding, test, test2, test3, test4, test5) {
|
157
|
+
is(test.key, 'test')
|
158
|
+
is(test2.key2, 'serialized2')
|
159
|
+
is(test5.key3, 'test')
|
160
|
+
}
|
161
|
+
|
162
|
+
const logger = fresh('../browser', require)({
|
163
|
+
browser: { serialize: ['key2'] }
|
164
|
+
})
|
165
|
+
|
166
|
+
console.error = consoleError
|
167
|
+
|
168
|
+
logger.child({
|
169
|
+
aBinding: 'test'
|
170
|
+
}, {
|
171
|
+
serializers: {
|
172
|
+
key: () => 'serialized',
|
173
|
+
key2: () => 'serialized2',
|
174
|
+
key3: () => 'serialized3'
|
175
|
+
}
|
176
|
+
}).fatal({ key: 'test' }, { key2: 'test' }, 'str should skip', [{ foo: 'array should skip' }], { key3: 'test' })
|
177
|
+
end()
|
178
|
+
})
|
179
|
+
|
180
|
+
test('serialize filter applies to child loggers through bindings', ({ end, is }) => {
|
181
|
+
const consoleError = console.error
|
182
|
+
console.error = function (binding, test, test2, test3, test4, test5) {
|
183
|
+
is(test.key, 'test')
|
184
|
+
is(test2.key2, 'serialized2')
|
185
|
+
is(test5.key3, 'test')
|
186
|
+
}
|
187
|
+
|
188
|
+
const logger = fresh('../browser', require)({
|
189
|
+
browser: { serialize: ['key2'] }
|
190
|
+
})
|
191
|
+
|
192
|
+
console.error = consoleError
|
193
|
+
|
194
|
+
logger.child({
|
195
|
+
aBinding: 'test',
|
196
|
+
serializers: {
|
197
|
+
key: () => 'serialized',
|
198
|
+
key2: () => 'serialized2',
|
199
|
+
key3: () => 'serialized3'
|
200
|
+
}
|
201
|
+
}).fatal({ key: 'test' }, { key2: 'test' }, 'str should skip', [{ foo: 'array should skip' }], { key3: 'test' })
|
202
|
+
end()
|
203
|
+
})
|
204
|
+
|
205
|
+
test('parent serializers apply to child bindings', ({ end, is }) => {
|
206
|
+
const consoleError = console.error
|
207
|
+
console.error = function (binding) {
|
208
|
+
is(binding.key, 'serialized')
|
209
|
+
}
|
210
|
+
|
211
|
+
const logger = fresh('../browser', require)({
|
212
|
+
serializers: {
|
213
|
+
key: () => 'serialized'
|
214
|
+
},
|
215
|
+
browser: { serialize: true }
|
216
|
+
})
|
217
|
+
|
218
|
+
console.error = consoleError
|
219
|
+
|
220
|
+
logger.child({ key: 'test' }).fatal({ test: 'test' })
|
221
|
+
end()
|
222
|
+
})
|
223
|
+
|
224
|
+
test('child serializers apply to child bindings', ({ end, is }) => {
|
225
|
+
const consoleError = console.error
|
226
|
+
console.error = function (binding) {
|
227
|
+
is(binding.key, 'serialized')
|
228
|
+
}
|
229
|
+
|
230
|
+
const logger = fresh('../browser', require)({
|
231
|
+
browser: { serialize: true }
|
232
|
+
})
|
233
|
+
|
234
|
+
console.error = consoleError
|
235
|
+
|
236
|
+
logger.child({
|
237
|
+
key: 'test'
|
238
|
+
}, {
|
239
|
+
serializers: {
|
240
|
+
key: () => 'serialized'
|
241
|
+
}
|
242
|
+
}).fatal({ test: 'test' })
|
243
|
+
end()
|
244
|
+
})
|
245
|
+
}
|
246
|
+
|
247
|
+
test('child does not overwrite parent serializers', ({ end, is }) => {
|
248
|
+
let c = 0
|
249
|
+
const parent = pino({
|
250
|
+
serializers: parentSerializers,
|
251
|
+
browser: {
|
252
|
+
serialize: true,
|
253
|
+
write (o) {
|
254
|
+
c++
|
255
|
+
if (c === 1) is(o.test, 'parent')
|
256
|
+
if (c === 2) {
|
257
|
+
is(o.test, 'child')
|
258
|
+
end()
|
259
|
+
}
|
260
|
+
}
|
261
|
+
}
|
262
|
+
})
|
263
|
+
const child = parent.child({}, { serializers: childSerializers })
|
264
|
+
|
265
|
+
parent.fatal({ test: 'test' })
|
266
|
+
child.fatal({ test: 'test' })
|
267
|
+
})
|
268
|
+
|
269
|
+
test('children inherit parent serializers', ({ end, is }) => {
|
270
|
+
const parent = pino({
|
271
|
+
serializers: parentSerializers,
|
272
|
+
browser: {
|
273
|
+
serialize: true,
|
274
|
+
write (o) {
|
275
|
+
is(o.test, 'parent')
|
276
|
+
}
|
277
|
+
}
|
278
|
+
})
|
279
|
+
|
280
|
+
const child = parent.child({ a: 'property' })
|
281
|
+
child.fatal({ test: 'test' })
|
282
|
+
end()
|
283
|
+
})
|
284
|
+
|
285
|
+
test('children serializers get called', ({ end, is }) => {
|
286
|
+
const parent = pino({
|
287
|
+
browser: {
|
288
|
+
serialize: true,
|
289
|
+
write (o) {
|
290
|
+
is(o.test, 'child')
|
291
|
+
}
|
292
|
+
}
|
293
|
+
})
|
294
|
+
|
295
|
+
const child = parent.child({ a: 'property' }, { serializers: childSerializers })
|
296
|
+
|
297
|
+
child.fatal({ test: 'test' })
|
298
|
+
end()
|
299
|
+
})
|
300
|
+
|
301
|
+
test('children serializers get called when inherited from parent', ({ end, is }) => {
|
302
|
+
const parent = pino({
|
303
|
+
serializers: parentSerializers,
|
304
|
+
browser: {
|
305
|
+
serialize: true,
|
306
|
+
write: (o) => {
|
307
|
+
is(o.test, 'pass')
|
308
|
+
}
|
309
|
+
}
|
310
|
+
})
|
311
|
+
|
312
|
+
const child = parent.child({}, { serializers: { test: () => 'pass' } })
|
313
|
+
|
314
|
+
child.fatal({ test: 'fail' })
|
315
|
+
end()
|
316
|
+
})
|
317
|
+
|
318
|
+
test('non overridden serializers are available in the children', ({ end, is }) => {
|
319
|
+
const pSerializers = {
|
320
|
+
onlyParent: () => 'parent',
|
321
|
+
shared: () => 'parent'
|
322
|
+
}
|
323
|
+
|
324
|
+
const cSerializers = {
|
325
|
+
shared: () => 'child',
|
326
|
+
onlyChild: () => 'child'
|
327
|
+
}
|
328
|
+
|
329
|
+
let c = 0
|
330
|
+
|
331
|
+
const parent = pino({
|
332
|
+
serializers: pSerializers,
|
333
|
+
browser: {
|
334
|
+
serialize: true,
|
335
|
+
write (o) {
|
336
|
+
c++
|
337
|
+
if (c === 1) is(o.shared, 'child')
|
338
|
+
if (c === 2) is(o.onlyParent, 'parent')
|
339
|
+
if (c === 3) is(o.onlyChild, 'child')
|
340
|
+
if (c === 4) is(o.onlyChild, 'test')
|
341
|
+
}
|
342
|
+
}
|
343
|
+
})
|
344
|
+
|
345
|
+
const child = parent.child({}, { serializers: cSerializers })
|
346
|
+
|
347
|
+
child.fatal({ shared: 'test' })
|
348
|
+
child.fatal({ onlyParent: 'test' })
|
349
|
+
child.fatal({ onlyChild: 'test' })
|
350
|
+
parent.fatal({ onlyChild: 'test' })
|
351
|
+
end()
|
352
|
+
})
|
@@ -0,0 +1,88 @@
|
|
1
|
+
'use strict'
|
2
|
+
const test = require('tape')
|
3
|
+
const pino = require('../browser')
|
4
|
+
|
5
|
+
Date.now = () => 1599400603614
|
6
|
+
|
7
|
+
test('null timestamp', ({ end, is }) => {
|
8
|
+
const instance = pino({
|
9
|
+
timestamp: pino.stdTimeFunctions.nullTime,
|
10
|
+
browser: {
|
11
|
+
asObject: true,
|
12
|
+
write: function (o) {
|
13
|
+
is(o.time, undefined)
|
14
|
+
}
|
15
|
+
}
|
16
|
+
})
|
17
|
+
instance.info('hello world')
|
18
|
+
end()
|
19
|
+
})
|
20
|
+
|
21
|
+
test('iso timestamp', ({ end, is }) => {
|
22
|
+
const instance = pino({
|
23
|
+
timestamp: pino.stdTimeFunctions.isoTime,
|
24
|
+
browser: {
|
25
|
+
asObject: true,
|
26
|
+
write: function (o) {
|
27
|
+
is(o.time, '2020-09-06T13:56:43.614Z')
|
28
|
+
}
|
29
|
+
}
|
30
|
+
})
|
31
|
+
instance.info('hello world')
|
32
|
+
end()
|
33
|
+
})
|
34
|
+
|
35
|
+
test('epoch timestamp', ({ end, is }) => {
|
36
|
+
const instance = pino({
|
37
|
+
timestamp: pino.stdTimeFunctions.epochTime,
|
38
|
+
browser: {
|
39
|
+
asObject: true,
|
40
|
+
write: function (o) {
|
41
|
+
is(o.time, 1599400603614)
|
42
|
+
}
|
43
|
+
}
|
44
|
+
})
|
45
|
+
instance.info('hello world')
|
46
|
+
end()
|
47
|
+
})
|
48
|
+
|
49
|
+
test('unix timestamp', ({ end, is }) => {
|
50
|
+
const instance = pino({
|
51
|
+
timestamp: pino.stdTimeFunctions.unixTime,
|
52
|
+
browser: {
|
53
|
+
asObject: true,
|
54
|
+
write: function (o) {
|
55
|
+
is(o.time, Math.round(1599400603614 / 1000.0))
|
56
|
+
}
|
57
|
+
}
|
58
|
+
})
|
59
|
+
instance.info('hello world')
|
60
|
+
end()
|
61
|
+
})
|
62
|
+
|
63
|
+
test('epoch timestamp by default', ({ end, is }) => {
|
64
|
+
const instance = pino({
|
65
|
+
browser: {
|
66
|
+
asObject: true,
|
67
|
+
write: function (o) {
|
68
|
+
is(o.time, 1599400603614)
|
69
|
+
}
|
70
|
+
}
|
71
|
+
})
|
72
|
+
instance.info('hello world')
|
73
|
+
end()
|
74
|
+
})
|
75
|
+
|
76
|
+
test('not print timestamp if the option is false', ({ end, is }) => {
|
77
|
+
const instance = pino({
|
78
|
+
timestamp: false,
|
79
|
+
browser: {
|
80
|
+
asObject: true,
|
81
|
+
write: function (o) {
|
82
|
+
is(o.time, undefined)
|
83
|
+
}
|
84
|
+
}
|
85
|
+
})
|
86
|
+
instance.info('hello world')
|
87
|
+
end()
|
88
|
+
})
|