nightingale 11.6.0 → 11.7.4
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/.eslintrc.json +1 -1
- package/CHANGELOG.md +38 -0
- package/babel.config.cjs +14 -0
- package/dist/index-browser-dev.cjs.js +47 -29
- package/dist/index-browser-dev.cjs.js.map +1 -1
- package/dist/index-browser-dev.es.js +45 -27
- package/dist/index-browser-dev.es.js.map +1 -1
- package/dist/index-browser.cjs.js +47 -29
- package/dist/index-browser.cjs.js.map +1 -1
- package/dist/index-browser.es.js +45 -27
- package/dist/index-browser.es.js.map +1 -1
- package/dist/index-browsermodern-dev.es.js +13 -9
- package/dist/index-browsermodern-dev.es.js.map +1 -1
- package/dist/index-browsermodern.es.js +13 -9
- package/dist/index-browsermodern.es.js.map +1 -1
- package/dist/index-node12-dev.cjs.js +15 -11
- package/dist/index-node12-dev.cjs.js.map +1 -1
- package/dist/index-node12-dev.mjs +13 -9
- package/dist/index-node12-dev.mjs.map +1 -1
- package/dist/index-node12.cjs.js +15 -11
- package/dist/index-node12.cjs.js.map +1 -1
- package/dist/index-node12.mjs +13 -9
- package/dist/index-node12.mjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/package.json +25 -38
- package/rollup.config.mjs +3 -0
- package/src/config.ts +2 -4
- package/src/index.test.ts +1 -1
- package/src/index.ts +12 -10
- package/index.js +0 -6
package/.eslintrc.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,44 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [11.7.4](https://github.com/christophehurpeau/nightingale/compare/v11.7.3...v11.7.4) (2021-11-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* build all packages ([dbb4785](https://github.com/christophehurpeau/nightingale/commit/dbb4785cbb8c75942935c4a5935df32fd2e93690))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [11.7.2](https://github.com/christophehurpeau/nightingale/compare/v11.7.1...v11.7.2) (2021-11-27)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package nightingale
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [11.7.1](https://github.com/christophehurpeau/nightingale/compare/v11.7.0...v11.7.1) (2021-06-29)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* update pob-babel to bring back webpack 4 support ([4887431](https://github.com/christophehurpeau/nightingale/commit/4887431b3b272496511f879af022638723b9056e))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# [11.7.0](https://github.com/christophehurpeau/nightingale/compare/v11.6.0...v11.7.0) (2021-03-29)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package nightingale
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
# [11.6.0](https://github.com/christophehurpeau/nightingale/compare/v11.5.4...v11.6.0) (2021-03-21)
|
|
7
45
|
|
|
8
46
|
|
package/babel.config.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
module.exports = function babelConfig(api) {
|
|
6
|
+
const isTest = api.env('test');
|
|
7
|
+
|
|
8
|
+
if (!isTest) return {};
|
|
9
|
+
|
|
10
|
+
return {
|
|
11
|
+
only: [path.resolve(__dirname, 'src')],
|
|
12
|
+
presets: [require.resolve('pob-babel/preset')],
|
|
13
|
+
};
|
|
14
|
+
};
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var nightingaleLevels = require('nightingale-levels');
|
|
6
5
|
var nightingaleLogger = require('nightingale-logger');
|
|
6
|
+
var nightingaleLevels = require('nightingale-levels');
|
|
7
7
|
|
|
8
8
|
if (global.__NIGHTINGALE_GLOBAL_HANDLERS) {
|
|
9
9
|
throw new Error('nightingale: update all to ^5.0.0');
|
|
@@ -70,7 +70,11 @@ function configure(config) {
|
|
|
70
70
|
clearCache();
|
|
71
71
|
global.__NIGHTINGALE_CONFIG = config.map(handleConfig);
|
|
72
72
|
}
|
|
73
|
-
function addConfig(config, unshift
|
|
73
|
+
function addConfig(config, unshift) {
|
|
74
|
+
if (unshift === void 0) {
|
|
75
|
+
unshift = false;
|
|
76
|
+
}
|
|
77
|
+
|
|
74
78
|
config = handleConfig(config);
|
|
75
79
|
|
|
76
80
|
global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);
|
|
@@ -78,28 +82,32 @@ function addConfig(config, unshift = false) {
|
|
|
78
82
|
clearCache();
|
|
79
83
|
}
|
|
80
84
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
var configIsForKey = function configIsForKey(key) {
|
|
86
|
+
return function (config) {
|
|
87
|
+
if (config.keys) return config.keys.includes(key);
|
|
88
|
+
if (config.pattern) return config.pattern.test(key);
|
|
89
|
+
return true;
|
|
90
|
+
};
|
|
85
91
|
};
|
|
86
92
|
|
|
87
|
-
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = key
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = function (key) {
|
|
94
|
+
var globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;
|
|
95
|
+
var existingCache = globalCache.get(key);
|
|
90
96
|
|
|
91
97
|
if (existingCache) {
|
|
92
98
|
return existingCache;
|
|
93
99
|
}
|
|
94
100
|
|
|
95
|
-
|
|
101
|
+
var loggerConfig = {
|
|
96
102
|
handlers: [],
|
|
97
103
|
processors: []
|
|
98
104
|
};
|
|
99
105
|
|
|
100
|
-
global.__NIGHTINGALE_CONFIG.filter(configIsForKey(key)).some(config
|
|
101
|
-
|
|
102
|
-
|
|
106
|
+
global.__NIGHTINGALE_CONFIG.filter(configIsForKey(key)).some(function (config) {
|
|
107
|
+
var _loggerConfig$handler, _loggerConfig$process;
|
|
108
|
+
|
|
109
|
+
if (config.handlers) (_loggerConfig$handler = loggerConfig.handlers).push.apply(_loggerConfig$handler, config.handlers);
|
|
110
|
+
if (config.processors) (_loggerConfig$process = loggerConfig.processors).push.apply(_loggerConfig$process, config.processors);
|
|
103
111
|
return config.stop;
|
|
104
112
|
});
|
|
105
113
|
|
|
@@ -108,13 +116,15 @@ global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = key => {
|
|
|
108
116
|
};
|
|
109
117
|
|
|
110
118
|
if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {
|
|
111
|
-
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (key, level)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
119
|
+
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = function (key, level) {
|
|
120
|
+
var _global$__NIGHTINGALE = global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key),
|
|
121
|
+
handlers = _global$__NIGHTINGALE.handlers,
|
|
122
|
+
processors = _global$__NIGHTINGALE.processors;
|
|
115
123
|
|
|
116
124
|
return {
|
|
117
|
-
handlers: handlers.filter(
|
|
125
|
+
handlers: handlers.filter(function (handler) {
|
|
126
|
+
return level >= handler.minLevel && (!handler.isHandling || handler.isHandling(level, key));
|
|
127
|
+
}),
|
|
118
128
|
processors
|
|
119
129
|
};
|
|
120
130
|
};
|
|
@@ -125,21 +135,29 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {
|
|
|
125
135
|
* @param {Logger} [logger]
|
|
126
136
|
*/
|
|
127
137
|
|
|
128
|
-
function listenUnhandledErrors(logger
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
process.on('
|
|
134
|
-
error,
|
|
135
|
-
|
|
136
|
-
|
|
138
|
+
function listenUnhandledErrors(logger) {
|
|
139
|
+
if (logger === void 0) {
|
|
140
|
+
logger = new nightingaleLogger.Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors');
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
process.on('uncaughtException', function (error) {
|
|
144
|
+
logger.error('uncaughtException', {
|
|
145
|
+
error,
|
|
146
|
+
unhandled: true
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
process.on('unhandledRejection', function (error) {
|
|
150
|
+
logger.error('unhandledRejection', {
|
|
151
|
+
error,
|
|
152
|
+
unhandled: true
|
|
153
|
+
});
|
|
154
|
+
});
|
|
137
155
|
}
|
|
138
156
|
|
|
157
|
+
exports.Logger = nightingaleLogger.Logger;
|
|
158
|
+
exports["default"] = nightingaleLogger.Logger;
|
|
139
159
|
exports.Level = nightingaleLevels.Level;
|
|
140
160
|
exports.levels = nightingaleLevels.Level;
|
|
141
|
-
exports.Logger = nightingaleLogger.Logger;
|
|
142
|
-
exports.default = nightingaleLogger.Logger;
|
|
143
161
|
exports.addConfig = addConfig;
|
|
144
162
|
exports.configure = configure;
|
|
145
163
|
exports.listenUnhandledErrors = listenUnhandledErrors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const {
|
|
1
|
+
{"version":3,"file":"index-browser-dev.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":";;;;;;;AAIA,IAAgCA,MAAM,CAACC,6BAAvC,EAAsE;AACpE,QAAM,IAAIC,KAAJ,CAAU,mCAAV,CAAN;AACD;;AAED,IAAI,CAACF,MAAM,CAACG,oBAAZ,EAAkC;AAChCH,EAAAA,MAAM,CAACG,oBAAP,GAA8B,EAA9B;AACAH,EAAAA,MAAM,CAACI,8BAAP,GAAwC,IAAIC,GAAJ,EAAxC;AAIAL,EAAAA,MAAM,CAACM,4BAAP,GAAsC;AAAEC,IAAAA,QAAQ,EAAE,EAAZ;AAAgBC,IAAAA,UAAU,EAAE;AAA5B,GAAtC;AACD;;AAED,SAASC,UAAT,GAA4B;AAC1BT,EAAAA,MAAM,CAACI,8BAAP,CAAsCM,KAAtC;AACD;;AAED,SAASC,YAAT,CAAsBC,MAAtB,EAA8C;AAC5C,MAAIA,MAAM,CAACC,IAAX,EAAiB;AACf,QAAID,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAM,IAAIZ,KAAJ,CAAU,iDAAV,CAAN;AACD;;AACD,QAAIU,MAAM,CAACG,GAAX,EAAgB;AACd,YAAM,IAAIb,KAAJ,CAAU,8CAAV,CAAN;AACD;AACF,GAPD,MAOO,IAAIU,MAAM,CAACG,GAAX,EAAgB;AACrB,QAAIH,MAAM,CAACE,OAAX,EAAoB;AAClB,YAAM,IAAIZ,KAAJ,CAAU,iDAAV,CAAN;AACD;;AACDU,IAAAA,MAAM,CAACC,IAAP,GAAc,CAACD,MAAM,CAACG,GAAR,CAAd;AACA,WAAOH,MAAM,CAACG,GAAd;AACD;;AAED,MAAIH,MAAM,CAACI,OAAX,EAAoB;AAClB,QAAIJ,MAAM,CAACL,QAAX,EAAqB;AACnB,YAAM,IAAIL,KAAJ,CAAU,sDAAV,CAAN;AACD;;AACDU,IAAAA,MAAM,CAACL,QAAP,GAAkB,CAACK,MAAM,CAACI,OAAR,CAAlB;AACA,WAAOJ,MAAM,CAACI,OAAd;AACD;;AAED,MAAIJ,MAAM,CAACK,SAAX,EAAsB;AACpB,QAAIL,MAAM,CAACJ,UAAX,EAAuB;AACrB,YAAM,IAAIN,KAAJ,CACJ,2DADI,CAAN;AAGD;;AACDU,IAAAA,MAAM,CAACJ,UAAP,GAAoB,CAACI,MAAM,CAACK,SAAR,CAApB;AACA,WAAOL,MAAM,CAACK,SAAd;AACD;;AAED,SAAOL,MAAP;AACD;;AAEM,SAASM,SAAT,CAAmBN,MAAnB,EAA2C;AAChD,MAAIZ,MAAM,CAACG,oBAAP,CAA4BgB,MAA5B,GAAqC,CAAzC,EAA4C;AAC1C;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,yCAAZ;AACD;;AAEDZ,EAAAA,UAAU;AACVT,EAAAA,MAAM,CAACG,oBAAP,GAA8BS,MAAM,CAACU,GAAP,CAAWX,YAAX,CAA9B;AACD;AAEM,SAASY,SAAT,CAAmBX,MAAnB,EAAmCY,OAAnC,EAA0D;AAAA,MAAvBA,OAAuB;AAAvBA,IAAAA,OAAuB,GAAb,KAAa;AAAA;;AAC/DZ,EAAAA,MAAM,GAAGD,YAAY,CAACC,MAAD,CAArB;;AACAZ,EAAAA,MAAM,CAACG,oBAAP,CAA4BqB,OAAO,GAAG,SAAH,GAAe,MAAlD,EAA0DZ,MAA1D;;AACAH,EAAAA,UAAU;AACX;;AAED,IAAMgB,cAAc,GAAG,SAAjBA,cAAiB,CAACV,GAAD;AAAA,SAAiB,UAACH,MAAD,EAAoB;AAC1D,QAAIA,MAAM,CAACC,IAAX,EAAiB,OAAOD,MAAM,CAACC,IAAP,CAAYa,QAAZ,CAAqBX,GAArB,CAAP;AACjB,QAAIH,MAAM,CAACE,OAAX,EAAoB,OAAOF,MAAM,CAACE,OAAP,CAAea,IAAf,CAAoBZ,GAApB,CAAP;AACpB,WAAO,IAAP;AACD,GAJsB;AAAA,CAAvB;;AAMAf,MAAM,CAAC4B,mCAAP,GAA6C,UAC3Cb,GAD2C,EAElB;AACzB,MAAMc,WAAW,GAAG7B,MAAM,CAACI,8BAA3B;AAEA,MAAM0B,aAAa,GAAGD,WAAW,CAACE,GAAZ,CAAgBhB,GAAhB,CAAtB;;AAEA,MAAIe,aAAJ,EAAmB;AACjB,WAAOA,aAAP;AACD;;AAED,MAAME,YAAkC,GAAG;AACzCzB,IAAAA,QAAQ,EAAE,EAD+B;AAEzCC,IAAAA,UAAU,EAAE;AAF6B,GAA3C;;AAKAR,EAAAA,MAAM,CAACG,oBAAP,CACG8B,MADH,CACUR,cAAc,CAACV,GAAD,CADxB,EAEGmB,IAFH,CAEQ,UAACtB,MAAD,EAAoB;AAAA;;AACxB,QAAIA,MAAM,CAACL,QAAX,EAAqB,yBAAAyB,YAAY,CAACzB,QAAb,EAAsB4B,IAAtB,8BAA8BvB,MAAM,CAACL,QAArC;AACrB,QAAIK,MAAM,CAACJ,UAAX,EAAuB,yBAAAwB,YAAY,CAACxB,UAAb,EAAwB2B,IAAxB,8BAAgCvB,MAAM,CAACJ,UAAvC;AACvB,WAAOI,MAAM,CAACwB,IAAd;AACD,GANH;;AAQAP,EAAAA,WAAW,CAACQ,GAAZ,CAAgBtB,GAAhB,EAAqBiB,YAArB;AACA,SAAOA,YAAP;AACD,CA1BD;;AA4BA,IAAIhC,MAAM,CAACsC,0CAAX,EAAuD;AACrDtC,EAAAA,MAAM,CAACsC,0CAAP,GAAoD,UAClDvB,GADkD,EAElDwB,KAFkD,EAGzB;AACzB,gCACEvC,MAAM,CAAC4B,mCAAP,CAA2Cb,GAA3C,CADF;AAAA,QAAQR,QAAR,yBAAQA,QAAR;AAAA,QAAkBC,UAAlB,yBAAkBA,UAAlB;;AAGA,WAAO;AACLD,MAAAA,QAAQ,EAAEA,QAAQ,CAAC0B,MAAT,CACR,UAACjB,OAAD;AAAA,eACEuB,KAAK,IAAIvB,OAAO,CAACwB,QAAjB,KACC,CAACxB,OAAO,CAACyB,UAAT,IAAuBzB,OAAO,CAACyB,UAAR,CAAmBF,KAAnB,EAA0BxB,GAA1B,CADxB,CADF;AAAA,OADQ,CADL;AAMLP,MAAAA;AANK,KAAP;AAQD,GAfD;AAgBD;;ACnHD;AACA;AACA;AACA;;AACO,SAASkC,qBAAT,CACLC,MADK,EAKC;AAAA,MAJNA,MAIM;AAJNA,IAAAA,MAIM,GAJW,IAAIC,wBAAJ,CACf,mCADe,EAEf,iBAFe,CAIX;AAAA;;AACNC,EAAAA,OAAO,CAACC,EAAR,CAAW,mBAAX,EAAgC,UAACC,KAAD,EAAW;AACzCJ,IAAAA,MAAM,CAACI,KAAP,CAAa,mBAAb,EAAkC;AAAEA,MAAAA,KAAF;AAASC,MAAAA,SAAS,EAAE;AAApB,KAAlC;AACD,GAFD;AAGAH,EAAAA,OAAO,CAACC,EAAR,CAAW,oBAAX,EAAiC,UAACC,KAAD,EAAW;AAC1CJ,IAAAA,MAAM,CAACI,KAAP,CAAa,oBAAb,EAAmC;AAAEA,MAAAA,KAAF;AAASC,MAAAA,SAAS,EAAE;AAApB,KAAnC;AACD,GAFD;AAGD;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Level, Level as levels } from 'nightingale-levels';
|
|
2
1
|
import { Logger } from 'nightingale-logger';
|
|
3
2
|
export { Logger, Logger as default } from 'nightingale-logger';
|
|
3
|
+
export { Level, Level as levels } from 'nightingale-levels';
|
|
4
4
|
|
|
5
5
|
if (global.__NIGHTINGALE_GLOBAL_HANDLERS) {
|
|
6
6
|
throw new Error('nightingale: update all to ^5.0.0');
|
|
@@ -67,7 +67,11 @@ function configure(config) {
|
|
|
67
67
|
clearCache();
|
|
68
68
|
global.__NIGHTINGALE_CONFIG = config.map(handleConfig);
|
|
69
69
|
}
|
|
70
|
-
function addConfig(config, unshift
|
|
70
|
+
function addConfig(config, unshift) {
|
|
71
|
+
if (unshift === void 0) {
|
|
72
|
+
unshift = false;
|
|
73
|
+
}
|
|
74
|
+
|
|
71
75
|
config = handleConfig(config);
|
|
72
76
|
|
|
73
77
|
global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);
|
|
@@ -75,28 +79,32 @@ function addConfig(config, unshift = false) {
|
|
|
75
79
|
clearCache();
|
|
76
80
|
}
|
|
77
81
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
var configIsForKey = function configIsForKey(key) {
|
|
83
|
+
return function (config) {
|
|
84
|
+
if (config.keys) return config.keys.includes(key);
|
|
85
|
+
if (config.pattern) return config.pattern.test(key);
|
|
86
|
+
return true;
|
|
87
|
+
};
|
|
82
88
|
};
|
|
83
89
|
|
|
84
|
-
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = key
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = function (key) {
|
|
91
|
+
var globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;
|
|
92
|
+
var existingCache = globalCache.get(key);
|
|
87
93
|
|
|
88
94
|
if (existingCache) {
|
|
89
95
|
return existingCache;
|
|
90
96
|
}
|
|
91
97
|
|
|
92
|
-
|
|
98
|
+
var loggerConfig = {
|
|
93
99
|
handlers: [],
|
|
94
100
|
processors: []
|
|
95
101
|
};
|
|
96
102
|
|
|
97
|
-
global.__NIGHTINGALE_CONFIG.filter(configIsForKey(key)).some(config
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
global.__NIGHTINGALE_CONFIG.filter(configIsForKey(key)).some(function (config) {
|
|
104
|
+
var _loggerConfig$handler, _loggerConfig$process;
|
|
105
|
+
|
|
106
|
+
if (config.handlers) (_loggerConfig$handler = loggerConfig.handlers).push.apply(_loggerConfig$handler, config.handlers);
|
|
107
|
+
if (config.processors) (_loggerConfig$process = loggerConfig.processors).push.apply(_loggerConfig$process, config.processors);
|
|
100
108
|
return config.stop;
|
|
101
109
|
});
|
|
102
110
|
|
|
@@ -105,13 +113,15 @@ global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = key => {
|
|
|
105
113
|
};
|
|
106
114
|
|
|
107
115
|
if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {
|
|
108
|
-
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (key, level)
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
116
|
+
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = function (key, level) {
|
|
117
|
+
var _global$__NIGHTINGALE = global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key),
|
|
118
|
+
handlers = _global$__NIGHTINGALE.handlers,
|
|
119
|
+
processors = _global$__NIGHTINGALE.processors;
|
|
112
120
|
|
|
113
121
|
return {
|
|
114
|
-
handlers: handlers.filter(
|
|
122
|
+
handlers: handlers.filter(function (handler) {
|
|
123
|
+
return level >= handler.minLevel && (!handler.isHandling || handler.isHandling(level, key));
|
|
124
|
+
}),
|
|
115
125
|
processors
|
|
116
126
|
};
|
|
117
127
|
};
|
|
@@ -122,15 +132,23 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {
|
|
|
122
132
|
* @param {Logger} [logger]
|
|
123
133
|
*/
|
|
124
134
|
|
|
125
|
-
function listenUnhandledErrors(logger
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
process.on('
|
|
131
|
-
error,
|
|
132
|
-
|
|
133
|
-
|
|
135
|
+
function listenUnhandledErrors(logger) {
|
|
136
|
+
if (logger === void 0) {
|
|
137
|
+
logger = new Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
process.on('uncaughtException', function (error) {
|
|
141
|
+
logger.error('uncaughtException', {
|
|
142
|
+
error,
|
|
143
|
+
unhandled: true
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
process.on('unhandledRejection', function (error) {
|
|
147
|
+
logger.error('unhandledRejection', {
|
|
148
|
+
error,
|
|
149
|
+
unhandled: true
|
|
150
|
+
});
|
|
151
|
+
});
|
|
134
152
|
}
|
|
135
153
|
|
|
136
154
|
export { addConfig, configure, listenUnhandledErrors };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser-dev.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const {
|
|
1
|
+
{"version":3,"file":"index-browser-dev.es.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var nightingaleLevels = require('nightingale-levels');
|
|
6
5
|
var nightingaleLogger = require('nightingale-logger');
|
|
6
|
+
var nightingaleLevels = require('nightingale-levels');
|
|
7
7
|
|
|
8
8
|
if (!global.__NIGHTINGALE_CONFIG) {
|
|
9
9
|
global.__NIGHTINGALE_CONFIG = [];
|
|
@@ -66,7 +66,11 @@ function configure(config) {
|
|
|
66
66
|
clearCache();
|
|
67
67
|
global.__NIGHTINGALE_CONFIG = config.map(handleConfig);
|
|
68
68
|
}
|
|
69
|
-
function addConfig(config, unshift
|
|
69
|
+
function addConfig(config, unshift) {
|
|
70
|
+
if (unshift === void 0) {
|
|
71
|
+
unshift = false;
|
|
72
|
+
}
|
|
73
|
+
|
|
70
74
|
config = handleConfig(config);
|
|
71
75
|
|
|
72
76
|
global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);
|
|
@@ -74,28 +78,32 @@ function addConfig(config, unshift = false) {
|
|
|
74
78
|
clearCache();
|
|
75
79
|
}
|
|
76
80
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
var configIsForKey = function configIsForKey(key) {
|
|
82
|
+
return function (config) {
|
|
83
|
+
if (config.keys) return config.keys.includes(key);
|
|
84
|
+
if (config.pattern) return config.pattern.test(key);
|
|
85
|
+
return true;
|
|
86
|
+
};
|
|
81
87
|
};
|
|
82
88
|
|
|
83
|
-
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = key
|
|
84
|
-
|
|
85
|
-
|
|
89
|
+
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = function (key) {
|
|
90
|
+
var globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;
|
|
91
|
+
var existingCache = globalCache.get(key);
|
|
86
92
|
|
|
87
93
|
if (existingCache) {
|
|
88
94
|
return existingCache;
|
|
89
95
|
}
|
|
90
96
|
|
|
91
|
-
|
|
97
|
+
var loggerConfig = {
|
|
92
98
|
handlers: [],
|
|
93
99
|
processors: []
|
|
94
100
|
};
|
|
95
101
|
|
|
96
|
-
global.__NIGHTINGALE_CONFIG.filter(configIsForKey(key)).some(config
|
|
97
|
-
|
|
98
|
-
|
|
102
|
+
global.__NIGHTINGALE_CONFIG.filter(configIsForKey(key)).some(function (config) {
|
|
103
|
+
var _loggerConfig$handler, _loggerConfig$process;
|
|
104
|
+
|
|
105
|
+
if (config.handlers) (_loggerConfig$handler = loggerConfig.handlers).push.apply(_loggerConfig$handler, config.handlers);
|
|
106
|
+
if (config.processors) (_loggerConfig$process = loggerConfig.processors).push.apply(_loggerConfig$process, config.processors);
|
|
99
107
|
return config.stop;
|
|
100
108
|
});
|
|
101
109
|
|
|
@@ -104,13 +112,15 @@ global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = key => {
|
|
|
104
112
|
};
|
|
105
113
|
|
|
106
114
|
if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {
|
|
107
|
-
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (key, level)
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
115
|
+
global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = function (key, level) {
|
|
116
|
+
var _global$__NIGHTINGALE = global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key),
|
|
117
|
+
handlers = _global$__NIGHTINGALE.handlers,
|
|
118
|
+
processors = _global$__NIGHTINGALE.processors;
|
|
111
119
|
|
|
112
120
|
return {
|
|
113
|
-
handlers: handlers.filter(
|
|
121
|
+
handlers: handlers.filter(function (handler) {
|
|
122
|
+
return level >= handler.minLevel && (!handler.isHandling || handler.isHandling(level, key));
|
|
123
|
+
}),
|
|
114
124
|
processors
|
|
115
125
|
};
|
|
116
126
|
};
|
|
@@ -121,21 +131,29 @@ if (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {
|
|
|
121
131
|
* @param {Logger} [logger]
|
|
122
132
|
*/
|
|
123
133
|
|
|
124
|
-
function listenUnhandledErrors(logger
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
process.on('
|
|
130
|
-
error,
|
|
131
|
-
|
|
132
|
-
|
|
134
|
+
function listenUnhandledErrors(logger) {
|
|
135
|
+
if (logger === void 0) {
|
|
136
|
+
logger = new nightingaleLogger.Logger('nightingale:listenUnhandledErrors', 'UnhandledErrors');
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
process.on('uncaughtException', function (error) {
|
|
140
|
+
logger.error('uncaughtException', {
|
|
141
|
+
error,
|
|
142
|
+
unhandled: true
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
process.on('unhandledRejection', function (error) {
|
|
146
|
+
logger.error('unhandledRejection', {
|
|
147
|
+
error,
|
|
148
|
+
unhandled: true
|
|
149
|
+
});
|
|
150
|
+
});
|
|
133
151
|
}
|
|
134
152
|
|
|
153
|
+
exports.Logger = nightingaleLogger.Logger;
|
|
154
|
+
exports["default"] = nightingaleLogger.Logger;
|
|
135
155
|
exports.Level = nightingaleLevels.Level;
|
|
136
156
|
exports.levels = nightingaleLevels.Level;
|
|
137
|
-
exports.Logger = nightingaleLogger.Logger;
|
|
138
|
-
exports.default = nightingaleLogger.Logger;
|
|
139
157
|
exports.addConfig = addConfig;
|
|
140
158
|
exports.configure = configure;
|
|
141
159
|
exports.listenUnhandledErrors = listenUnhandledErrors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-browser.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const {
|
|
1
|
+
{"version":3,"file":"index-browser.cjs.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import { POB_ENV } from 'pob-babel';\nimport type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler } from 'nightingale-types';\n\nif (POB_ENV !== 'production' && global.__NIGHTINGALE_GLOBAL_HANDLERS) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!global.__NIGHTINGALE_CONFIG) {\n global.__NIGHTINGALE_CONFIG = [];\n global.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n global.__NIGHTINGALE_CONFIG_DEFAULT = { handlers: [], processors: [] };\n}\n\nfunction clearCache(): void {\n global.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (global.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n global.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n global.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobal.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = global.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n global.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: number,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n global.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport {\n /** @deprecated use named export instead */\n Logger as default,\n Logger,\n} from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error('uncaughtException', { error, unhandled: true });\n });\n process.on('unhandledRejection', (error) => {\n logger.error('unhandledRejection', { error, unhandled: true });\n });\n}\n"],"names":["global","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","Error","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","process","on","error","unhandled"],"mappings":"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"}
|