@emartech/json-logger 5.0.2 → 6.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.
- package/README.md +60 -12
- package/dist/index.d.ts +2 -5
- package/dist/index.js +9 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,10 +11,13 @@ npm install @emartech/json-logger
|
|
|
11
11
|
|
|
12
12
|
### Usage
|
|
13
13
|
|
|
14
|
+
#### Script
|
|
15
|
+
|
|
14
16
|
```javascript
|
|
15
17
|
process.env.DEBUG = 'redis';
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
+
const { createLogger } = require('@emartech/json-logger');
|
|
19
|
+
const mongoLogger = createLogger('mongo');
|
|
20
|
+
const redisLogger = createLogger('redis');
|
|
18
21
|
|
|
19
22
|
redisLogger.info('connected', { domain: 'yahoo' });
|
|
20
23
|
// {"name":"redis","action":"connected","level":30,"time":"2016-08-15T08:50:23.566Z","domain":"yahoo"}
|
|
@@ -26,6 +29,47 @@ redisLogger.fromError('query', new Error('Unauthorized'), { problem: 'missmatch'
|
|
|
26
29
|
// {"name":"redis","action":"query","level":50,"time":"2016-08-15T08:50:23.569Z","error_name":"Error","error_stack":"Error: Unauthorized\n at Object.<anonymous> (/home/blacksonic/workspace/bunyan-debug/example.js:15:32)\n at Module._compile (module.js:541:32)\n at Object.Module._extensions..js (module.js:550:10)\n at Module.load (module.js:458:32)\n at tryModuleLoad (module.js:417:12)\n at Function.Module._load (module.js:409:3)\n at Module.runMain (module.js:575:10)\n at run (bootstrap_node.js:352:7)\n at startup (bootstrap_node.js:144:9)\n at bootstrap_node.js:467:3","error_message":"Unauthorized","problem":"missmatch"}
|
|
27
30
|
```
|
|
28
31
|
|
|
32
|
+
#### Class
|
|
33
|
+
|
|
34
|
+
```javascript
|
|
35
|
+
const { createLogger } = require('@emartech/json-logger');
|
|
36
|
+
const logger = createLogger('Exporter');
|
|
37
|
+
|
|
38
|
+
class Exporter {
|
|
39
|
+
export() {
|
|
40
|
+
mongoLogger.info('export', { customer_id: 123 });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
import { createLogger } from '@emartech/json-logger';
|
|
47
|
+
const logger = createLogger('Exporter');
|
|
48
|
+
|
|
49
|
+
class Exporter {
|
|
50
|
+
export() {
|
|
51
|
+
mongoLogger.info('export', { customer_id: 123 });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
#### Tests
|
|
57
|
+
|
|
58
|
+
```javascript
|
|
59
|
+
import { Logger } from '@emartech/json-logger';
|
|
60
|
+
|
|
61
|
+
describe('Exporter', () => {
|
|
62
|
+
it('should log', () => {
|
|
63
|
+
jest.spyOn(Logger.prototype, 'info').mockReturnValue();
|
|
64
|
+
const exporter = new Exporter();
|
|
65
|
+
|
|
66
|
+
exporter.export();
|
|
67
|
+
|
|
68
|
+
expect(Logger.prototype.info).toHaveBeenCalledWith('export', { customer_id: 123 });
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
```
|
|
72
|
+
|
|
29
73
|
More examples can be found in the `examples` directory.
|
|
30
74
|
|
|
31
75
|
### API
|
|
@@ -39,11 +83,12 @@ Disabled instances output no logs.
|
|
|
39
83
|
|
|
40
84
|
```javascript
|
|
41
85
|
process.env.DEBUG = 'redis,mysql';
|
|
86
|
+
const { createLogger } = require('@emartech/json-logger');
|
|
42
87
|
|
|
43
|
-
const mongoLogger =
|
|
88
|
+
const mongoLogger = createLogger('mongo');
|
|
44
89
|
// mongo instance will be disabled
|
|
45
90
|
|
|
46
|
-
const redisLogger =
|
|
91
|
+
const redisLogger = createLogger('redis');
|
|
47
92
|
// redis instance will be enabled
|
|
48
93
|
```
|
|
49
94
|
|
|
@@ -52,7 +97,8 @@ const redisLogger = require('@emartech/json-logger')('redis');
|
|
|
52
97
|
Prints the provided data to the console in JSON format.
|
|
53
98
|
|
|
54
99
|
```javascript
|
|
55
|
-
const
|
|
100
|
+
const { createLogger } = require('@emartech/json-logger');
|
|
101
|
+
const redisLogger = createLogger('redis');
|
|
56
102
|
|
|
57
103
|
redisLogger.info('connected', { domain: 'yahoo' });
|
|
58
104
|
// {"name":"redis","action":"connected","level":30,"time":"2016-08-15T08:50:23.566Z","domain":"yahoo"}
|
|
@@ -92,7 +138,8 @@ The displayed line contains the stack trace, the name and the message of the err
|
|
|
92
138
|
The log level defaults to error.
|
|
93
139
|
|
|
94
140
|
```javascript
|
|
95
|
-
const
|
|
141
|
+
const { createLogger } = require('@emartech/json-logger');
|
|
142
|
+
const redisLogger = createLogger('redis');
|
|
96
143
|
|
|
97
144
|
redisLogger.fromError('query', new Error('Unauthorized'), { problem: 'missmatch' });
|
|
98
145
|
// {"name":"redis","action":"query","level":50,"time":"2016-08-15T08:50:23.569Z","error_name":"Error","error_stack":"Error: Unauthorized\n at Object.<anonymous> (/home/blacksonic/workspace/bunyan-debug/example.js:15:32)\n at Module._compile (module.js:541:32)\n at Object.Module._extensions..js (module.js:550:10)\n at Module.load (module.js:458:32)\n at tryModuleLoad (module.js:417:12)\n at Function.Module._load (module.js:409:3)\n at Module.runMain (module.js:575:10)\n at run (bootstrap_node.js:352:7)\n at startup (bootstrap_node.js:144:9)\n at bootstrap_node.js:467:3","error_message":"Unauthorized","problem":"missmatch"}
|
|
@@ -109,7 +156,8 @@ but also logs the elapsed time in milliseconds from the creation of the instance
|
|
|
109
156
|
The elapsed time will be logged into the `duration` field.
|
|
110
157
|
|
|
111
158
|
```javascript
|
|
112
|
-
const
|
|
159
|
+
const { createLogger } = require('@emartech/json-logger');
|
|
160
|
+
const redisLogger = createLogger('redis');
|
|
113
161
|
|
|
114
162
|
const timer = redisLogger.timer();
|
|
115
163
|
|
|
@@ -127,9 +175,9 @@ With transformers we can alter the data to be logged before passing to the forma
|
|
|
127
175
|
It is a perfect place to add the name of the machine is running on or the request id associated with the current thread stored on a continuation local storage.
|
|
128
176
|
|
|
129
177
|
```javascript
|
|
130
|
-
const
|
|
178
|
+
const { createLogger } = require('@emartech/json-logger');
|
|
131
179
|
|
|
132
|
-
|
|
180
|
+
createLogger.configure({
|
|
133
181
|
formatter: JSON.stringify,
|
|
134
182
|
output: console.log,
|
|
135
183
|
transformers: []
|
|
@@ -160,11 +208,11 @@ For automating
|
|
|
160
208
|
|
|
161
209
|
```javascript
|
|
162
210
|
const Koa = require('koa');
|
|
163
|
-
const
|
|
211
|
+
const { createLogger } = require('@emartech/json-logger');
|
|
164
212
|
const clsAdapter = require('@emartech/cls-adapter');
|
|
165
|
-
const logger =
|
|
213
|
+
const logger = createLogger('redis');
|
|
166
214
|
|
|
167
|
-
|
|
215
|
+
createLogger.configure({
|
|
168
216
|
transformers: [
|
|
169
217
|
clsAdapter.addContextStorageToInput()
|
|
170
218
|
]
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { Logger, LoggerConfig } from './logger/logger';
|
|
2
2
|
export { Logger, LoggerConfig } from './logger/logger';
|
|
3
3
|
export { Timer } from './timer/timer';
|
|
4
|
-
export declare function
|
|
5
|
-
export declare namespace
|
|
6
|
-
var Logger: typeof import("./logger/logger").Logger;
|
|
7
|
-
var Timer: typeof import("./timer/timer").Timer;
|
|
4
|
+
export declare function createLogger(namespace: string): Logger;
|
|
5
|
+
export declare namespace createLogger {
|
|
8
6
|
var getNamespaces: () => string;
|
|
9
7
|
var configure: (options: LoggerConfig) => void;
|
|
10
8
|
var formatter: {
|
|
@@ -13,4 +11,3 @@ export declare namespace logFactory {
|
|
|
13
11
|
logentries: typeof import("./formatter/logentries").logentriesFormatter;
|
|
14
12
|
};
|
|
15
13
|
}
|
|
16
|
-
export default logFactory;
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createLogger = exports.Timer = exports.Logger = void 0;
|
|
4
4
|
const logger_1 = require("./logger/logger");
|
|
5
5
|
var logger_2 = require("./logger/logger");
|
|
6
6
|
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_2.Logger; } });
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(exports, "Timer", { enumerable: true, get: function () { return timer_2.Timer; } });
|
|
7
|
+
var timer_1 = require("./timer/timer");
|
|
8
|
+
Object.defineProperty(exports, "Timer", { enumerable: true, get: function () { return timer_1.Timer; } });
|
|
10
9
|
const enabled_1 = require("./enabled/enabled");
|
|
11
10
|
const formatter_1 = require("./formatter");
|
|
12
|
-
function
|
|
13
|
-
return new logger_1.Logger(namespace, (0, enabled_1.isNamespaceEnabled)(
|
|
11
|
+
function createLogger(namespace) {
|
|
12
|
+
return new logger_1.Logger(namespace, (0, enabled_1.isNamespaceEnabled)(createLogger.getNamespaces(), namespace));
|
|
14
13
|
}
|
|
15
|
-
exports.
|
|
16
|
-
|
|
17
|
-
logFactory.Timer = timer_1.Timer;
|
|
18
|
-
logFactory.getNamespaces = function () {
|
|
14
|
+
exports.createLogger = createLogger;
|
|
15
|
+
createLogger.getNamespaces = function () {
|
|
19
16
|
return process.env.DEBUG || '';
|
|
20
17
|
};
|
|
21
|
-
|
|
18
|
+
createLogger.configure = function (options) {
|
|
22
19
|
logger_1.Logger.configure(options);
|
|
23
20
|
};
|
|
24
|
-
|
|
25
|
-
exports.default = logFactory;
|
|
26
|
-
module.exports = logFactory;
|
|
21
|
+
createLogger.formatter = formatter_1.formatter;
|