standard-log 6.2.6 → 7.0.0

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.
Files changed (41) hide show
  1. package/dist/standard-log.js +3697 -3688
  2. package/dist/standard-log.js.gz +0 -0
  3. package/dist/standard-log.js.map +1 -1
  4. package/dist/standard-log.js.map.gz +0 -0
  5. package/lib/captureLogs.d.ts.map +1 -1
  6. package/lib/captureLogs.js +1 -1
  7. package/lib/captureLogs.js.map +1 -1
  8. package/lib/config.d.ts.map +1 -1
  9. package/lib/config.js +10 -2
  10. package/lib/config.js.map +1 -1
  11. package/lib/configForTest.d.ts.map +1 -1
  12. package/lib/configForTest.js +2 -0
  13. package/lib/configForTest.js.map +1 -1
  14. package/lib/memory/MemoryLogReporter.d.ts +1 -0
  15. package/lib/memory/MemoryLogReporter.d.ts.map +1 -1
  16. package/lib/memory/MemoryLogReporter.js +7 -8
  17. package/lib/memory/MemoryLogReporter.js.map +1 -1
  18. package/libm/captureLogs.d.ts.map +1 -1
  19. package/libm/captureLogs.js +1 -1
  20. package/libm/captureLogs.js.map +1 -1
  21. package/libm/config.d.ts.map +1 -1
  22. package/libm/config.js +10 -2
  23. package/libm/config.js.map +1 -1
  24. package/libm/configForTest.d.ts.map +1 -1
  25. package/libm/configForTest.js +2 -0
  26. package/libm/configForTest.js.map +1 -1
  27. package/libm/memory/MemoryLogReporter.d.ts +1 -0
  28. package/libm/memory/MemoryLogReporter.d.ts.map +1 -1
  29. package/libm/memory/MemoryLogReporter.js +5 -7
  30. package/libm/memory/MemoryLogReporter.js.map +1 -1
  31. package/package.json +2 -2
  32. package/src/captureLogs.spec.ts +3 -1
  33. package/src/captureLogs.ts +2 -2
  34. package/src/config.spec.ts +15 -7
  35. package/src/config.ts +10 -2
  36. package/src/configForTest.ts +2 -0
  37. package/src/console/createConsoleLogReporter.spec.ts +135 -127
  38. package/src/getLogger.spec.ts +1 -1
  39. package/src/logReporter.spec.ts +78 -67
  40. package/src/memory/MemoryLogReporter.spec.ts +80 -76
  41. package/src/memory/MemoryLogReporter.ts +5 -7
@@ -1,99 +1,103 @@
1
1
  import a from 'assertron'
2
- import { config, createMemoryLogReporter, ProhibitedDuringProduction } from '..'
3
- import { logLevels } from '../logLevel'
2
+ import { config, createMemoryLogReporter, logLevels, ProhibitedDuringProduction } from '..'
4
3
  import { store } from '../store'
5
4
 
6
- beforeEach(() => {
7
- store.reset()
8
- config({ mode: 'test' })
9
- })
10
- test('log entries are saved in the `logs` property', () => {
11
- const reporter = createMemoryLogReporter()
12
- const entry = { id: 'log', level: 1, args: ['some messages'], timestamp: new Date() }
13
- reporter.write(entry)
14
- expect(reporter.logs).toEqual([entry])
15
- })
16
-
17
- test('can override id', () => {
18
- const reporter = createMemoryLogReporter({ id: 'custom-id-mem' })
19
- expect(reporter.id).toBe('custom-id-mem')
20
- })
21
-
22
- test('can filter', () => {
23
- const reporter = createMemoryLogReporter({ filter(entry) { return entry.id !== 'secret' } })
24
- reporter.write({ id: 'ok', level: 1, args: ['some messages'], timestamp: new Date() })
25
- reporter.write({ id: 'secret', level: 1, args: ['some messages'], timestamp: new Date() })
26
- expect(reporter.logs.length).toBe(1)
27
- })
5
+ describe('production checks', () => {
6
+ beforeEach(() => store.reset())
7
+ test('set formatter in production mode throws', () => {
8
+ config({ mode: 'production' })
9
+ const reporter = createMemoryLogReporter()
28
10
 
29
- test('can change filter', () => {
30
- const reporter = createMemoryLogReporter()
31
- const filter = reporter.filter
32
- reporter.filter = entry => entry.id !== 'secret'
33
- expect(reporter.filter).not.toEqual(filter)
34
- })
11
+ a.throws(() => { reporter.formatter = e => e }, ProhibitedDuringProduction)
12
+ })
35
13
 
36
- test('set filter in production mode throws', () => {
37
- config({ mode: 'production' })
38
- const reporter = createMemoryLogReporter()
39
- a.throws(() => { reporter.filter = () => true }, ProhibitedDuringProduction)
14
+ test('set filter in production mode throws', () => {
15
+ config({ mode: 'production' })
16
+ const reporter = createMemoryLogReporter()
17
+ a.throws(() => { reporter.filter = () => true }, ProhibitedDuringProduction)
18
+ })
40
19
  })
41
20
 
42
- test('formatter can be used to pre-process the log', () => {
43
- const reporter = createMemoryLogReporter({
44
- formatter: (entry) => ({
45
- ...entry,
46
- args: entry.args.map(arg => arg === 'secret' ? '<censored>' : arg)
47
- })
21
+ describe('unit tests', () => {
22
+ beforeEach(() => {
23
+ store.reset()
24
+ config({ mode: 'test' })
25
+ })
26
+ test('log entries are saved in the `logs` property', () => {
27
+ const reporter = createMemoryLogReporter()
28
+ const entry = { id: 'log', level: 1, args: ['some messages'], timestamp: new Date() }
29
+ reporter.write(entry)
30
+ expect(reporter.logs).toEqual([entry])
48
31
  })
49
32
 
50
- const entry = { id: 'log', level: 1, args: ['a', 'secret', 'b'], timestamp: new Date() }
51
- reporter.write(entry)
52
-
53
- expect(reporter.logs[0].args[1]).toBe('<censored>')
54
- })
33
+ test('can override id', () => {
34
+ const reporter = createMemoryLogReporter({ id: 'custom-id-mem' })
35
+ expect(reporter.id).toBe('custom-id-mem')
36
+ })
55
37
 
56
- test('can change formatter', () => {
57
- const reporter = createMemoryLogReporter()
58
- const formatter = reporter.formatter
59
- reporter.formatter = e => ({ ...e, args: e.args.reverse() })
60
- expect(reporter.formatter).not.toEqual(formatter)
61
- })
38
+ test('can filter', () => {
39
+ const reporter = createMemoryLogReporter({ filter(entry) { return entry.id !== 'secret' } })
40
+ reporter.write({ id: 'ok', level: 1, args: ['some messages'], timestamp: new Date() })
41
+ reporter.write({ id: 'secret', level: 1, args: ['some messages'], timestamp: new Date() })
42
+ expect(reporter.logs.length).toBe(1)
43
+ })
62
44
 
63
- test('set formatter in production mode throws', () => {
64
- config({ mode: 'production' })
65
- const reporter = createMemoryLogReporter()
45
+ test('can change filter', () => {
46
+ const reporter = createMemoryLogReporter()
47
+ const filter = reporter.filter
48
+ reporter.filter = entry => entry.id !== 'secret'
49
+ expect(reporter.filter).not.toEqual(filter)
50
+ })
66
51
 
67
- a.throws(() => { reporter.formatter = e => e }, ProhibitedDuringProduction)
68
- })
52
+ test('formatter can be used to pre-process the log', () => {
53
+ const reporter = createMemoryLogReporter({
54
+ formatter: (entry) => ({
55
+ ...entry,
56
+ args: entry.args.map(arg => arg === 'secret' ? '<censored>' : arg)
57
+ })
58
+ })
69
59
 
70
- describe('getLogMessages()', () => {
71
- test('empty logs returns empty string', () => {
72
- const reporter = createMemoryLogReporter()
60
+ const entry = { id: 'log', level: 1, args: ['a', 'secret', 'b'], timestamp: new Date() }
61
+ reporter.write(entry)
73
62
 
74
- expect(reporter.getLogMessage()).toEqual('')
63
+ expect(reporter.logs[0].args[1]).toBe('<censored>')
75
64
  })
76
65
 
77
- test('print args', () => {
66
+ test('can change formatter', () => {
78
67
  const reporter = createMemoryLogReporter()
79
- const entry = { id: 'log', level: 1, args: ['miku', 'is', 'singing'], timestamp: new Date() }
80
- reporter.write(entry)
81
- expect(reporter.getLogMessage()).toEqual('miku is singing')
68
+ const formatter = reporter.formatter
69
+ reporter.formatter = e => ({ ...e, args: e.args.reverse() })
70
+ expect(reporter.formatter).not.toEqual(formatter)
82
71
  })
83
72
 
84
- test('print object arg', () => {
85
- const reporter = createMemoryLogReporter()
86
- const entry = { id: 'log', level: 1, args: [{ 'miku': 'sing' }], timestamp: new Date() }
87
- reporter.write(entry)
88
- expect(reporter.getLogMessage()).toEqual("{ miku: 'sing' }")
73
+ describe('getLogMessages()', () => {
74
+ test('empty logs returns empty string', () => {
75
+ const reporter = createMemoryLogReporter()
76
+
77
+ expect(reporter.getLogMessage()).toEqual('')
78
+ })
79
+
80
+ test('print args', () => {
81
+ const reporter = createMemoryLogReporter()
82
+ const entry = { id: 'log', level: 1, args: ['miku', 'is', 'singing'], timestamp: new Date() }
83
+ reporter.write(entry)
84
+ expect(reporter.getLogMessage()).toEqual('miku is singing')
85
+ })
86
+
87
+ test('print object arg', () => {
88
+ const reporter = createMemoryLogReporter()
89
+ const entry = { id: 'log', level: 1, args: [{ 'miku': 'sing' }], timestamp: new Date() }
90
+ reporter.write(entry)
91
+ expect(reporter.getLogMessage()).toEqual("{ miku: 'sing' }")
92
+ })
89
93
  })
90
- })
91
94
 
92
- describe('getLogMessageWithLevel', () => {
93
- test('print with level', () => {
94
- const reporter = createMemoryLogReporter()
95
- reporter.write({ id: 'log', level: logLevels.info, args: ['msg 1'], timestamp: new Date() })
96
- reporter.write({ id: 'log', level: logLevels.warn, args: ['msg 2'], timestamp: new Date() })
97
- expect(reporter.getLogMessageWithLevel()).toEqual(`(INFO) msg 1\n(WARN) msg 2`)
95
+ describe('getLogMessageWithLevel', () => {
96
+ test('print with level', () => {
97
+ const reporter = createMemoryLogReporter()
98
+ reporter.write({ id: 'log', level: logLevels.info, args: ['msg 1'], timestamp: new Date() })
99
+ reporter.write({ id: 'log', level: logLevels.warn, args: ['msg 2'], timestamp: new Date() })
100
+ expect(reporter.getLogMessageWithLevel()).toEqual(`(INFO) msg 1\n(WARN) msg 2`)
101
+ })
98
102
  })
99
103
  })
@@ -24,12 +24,10 @@ function createGetLogMessage() {
24
24
  }
25
25
  }
26
26
 
27
- function createGetMessageWithLevel() {
28
- return function getLogMessage(this: { logs: LogEntry[] }) {
29
- return this.logs.map(toInspectLogEntry)
30
- .map(log => `${formatLogLevel(log.level)} ${log.args.join(' ')}`)
31
- .join('\n')
32
- }
27
+ export function toMessageWithLevel(logs: LogEntry[]) {
28
+ return logs.map(toInspectLogEntry)
29
+ .map(log => `${formatLogLevel(log.level)} ${log.args.join(' ')}`)
30
+ .join('\n')
33
31
  }
34
32
 
35
33
 
@@ -59,6 +57,6 @@ export function createMemoryLogReporter(options?: LogReporterOptions<LogEntry>):
59
57
  this.logs.push(formatter(entry))
60
58
  },
61
59
  getLogMessage: createGetLogMessage(),
62
- getLogMessageWithLevel: createGetMessageWithLevel()
60
+ getLogMessageWithLevel() { return toMessageWithLevel(this.logs) }
63
61
  }
64
62
  }