@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 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 mongoLogger = require('@emartech/json-logger')('mongo');
17
- const redisLogger = require('@emartech/json-logger')('redis');
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 = require('@emartech/json-logger')('mongo');
88
+ const mongoLogger = createLogger('mongo');
44
89
  // mongo instance will be disabled
45
90
 
46
- const redisLogger = require('@emartech/json-logger')('redis');
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 redisLogger = require('@emartech/json-logger')('redis');
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 redisLogger = require('@emartech/json-logger')('redis');
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 redisLogger = require('@emartech/json-logger')('redis');
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 Logger = require('@emartech/json-logger');
178
+ const { createLogger } = require('@emartech/json-logger');
131
179
 
132
- Logger.configure({
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 logFactory = require('@emartech/json-logger');
211
+ const { createLogger } = require('@emartech/json-logger');
164
212
  const clsAdapter = require('@emartech/cls-adapter');
165
- const logger = logFactory('redis');
213
+ const logger = createLogger('redis');
166
214
 
167
- logFactory.configure({
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 logFactory(namespace: string): Logger;
5
- export declare namespace logFactory {
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.logFactory = exports.Timer = exports.Logger = void 0;
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
- const timer_1 = require("./timer/timer");
8
- var timer_2 = require("./timer/timer");
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 logFactory(namespace) {
13
- return new logger_1.Logger(namespace, (0, enabled_1.isNamespaceEnabled)(logFactory.getNamespaces(), namespace));
11
+ function createLogger(namespace) {
12
+ return new logger_1.Logger(namespace, (0, enabled_1.isNamespaceEnabled)(createLogger.getNamespaces(), namespace));
14
13
  }
15
- exports.logFactory = logFactory;
16
- logFactory.Logger = logger_1.Logger;
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
- logFactory.configure = function (options) {
18
+ createLogger.configure = function (options) {
22
19
  logger_1.Logger.configure(options);
23
20
  };
24
- logFactory.formatter = formatter_1.formatter;
25
- exports.default = logFactory;
26
- module.exports = logFactory;
21
+ createLogger.formatter = formatter_1.formatter;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emartech/json-logger",
3
- "version": "5.0.2",
3
+ "version": "6.0.0",
4
4
  "description": "Tiny and fast json logger with namespace support",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {