standard-log 9.1.1 → 9.1.2

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 (48) hide show
  1. package/cjs/index.d.ts +1 -2
  2. package/cjs/index.d.ts.map +1 -1
  3. package/cjs/index.js +4 -4
  4. package/cjs/index.js.map +1 -1
  5. package/cjs/standardLog.d.ts +9 -0
  6. package/cjs/standardLog.d.ts.map +1 -1
  7. package/cjs/standardLog.js +38 -2
  8. package/cjs/standardLog.js.map +1 -1
  9. package/cjs/standardLog.spec.js +89 -41
  10. package/cjs/standardLog.spec.js.map +1 -1
  11. package/dist/standard-log.es5.js +42 -55
  12. package/dist/standard-log.es5.js.gz +0 -0
  13. package/dist/standard-log.es5.js.map +1 -1
  14. package/dist/standard-log.es5.js.map.gz +0 -0
  15. package/dist/standard-log.esm.js +51 -66
  16. package/dist/standard-log.esm.js.gz +0 -0
  17. package/dist/standard-log.esm.js.map +1 -1
  18. package/dist/standard-log.esm.js.map.gz +0 -0
  19. package/esm/index.d.ts +1 -2
  20. package/esm/index.d.ts.map +1 -1
  21. package/esm/index.js +1 -2
  22. package/esm/index.js.map +1 -1
  23. package/esm/standardLog.d.ts +9 -0
  24. package/esm/standardLog.d.ts.map +1 -1
  25. package/esm/standardLog.js +35 -2
  26. package/esm/standardLog.js.map +1 -1
  27. package/esm/standardLog.spec.js +49 -2
  28. package/esm/standardLog.spec.js.map +1 -1
  29. package/package.json +1 -1
  30. package/ts/index.ts +2 -2
  31. package/ts/standardLog.ts +42 -2
  32. package/cjs/global.d.ts +0 -14
  33. package/cjs/global.d.ts.map +0 -1
  34. package/cjs/global.js +0 -39
  35. package/cjs/global.js.map +0 -1
  36. package/cjs/global.spec.d.ts +0 -2
  37. package/cjs/global.spec.d.ts.map +0 -1
  38. package/cjs/global.spec.js +0 -42
  39. package/cjs/global.spec.js.map +0 -1
  40. package/esm/global.d.ts +0 -14
  41. package/esm/global.d.ts.map +0 -1
  42. package/esm/global.js +0 -33
  43. package/esm/global.js.map +0 -1
  44. package/esm/global.spec.d.ts +0 -2
  45. package/esm/global.spec.d.ts.map +0 -1
  46. package/esm/global.spec.js +0 -40
  47. package/esm/global.spec.js.map +0 -1
  48. package/ts/global.ts +0 -43
package/cjs/index.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  export * from './console.js';
2
2
  export * from './errors.js';
3
3
  export * from './formatter.js';
4
- export { configGlobal, getLogger } from './global.js';
5
4
  export * from './logLevels.js';
6
5
  export * from './memory.js';
7
- export { createStandardLog, createStandardLogForTest, StandardLog, StandardLogInstance } from './standardLog.js';
6
+ export { configGlobal, createStandardLog, createStandardLogForTest, getLogger, StandardLog, StandardLogInstance, suppressLogs } from './standardLog.js';
8
7
  export * from './types.js';
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACrD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,OAAO,EACL,iBAAiB,EAAE,wBAAwB,EAAE,WAAW,EAAE,mBAAmB,EAC9E,MAAM,kBAAkB,CAAA;AACzB,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,OAAO,EACL,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EACzD,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAC1D,MAAM,kBAAkB,CAAA;AACzB,cAAc,YAAY,CAAA"}
package/cjs/index.js CHANGED
@@ -14,17 +14,17 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.createStandardLogForTest = exports.createStandardLog = exports.getLogger = exports.configGlobal = void 0;
17
+ exports.suppressLogs = exports.getLogger = exports.createStandardLogForTest = exports.createStandardLog = exports.configGlobal = void 0;
18
18
  __exportStar(require("./console.js"), exports);
19
19
  __exportStar(require("./errors.js"), exports);
20
20
  __exportStar(require("./formatter.js"), exports);
21
- var global_js_1 = require("./global.js");
22
- Object.defineProperty(exports, "configGlobal", { enumerable: true, get: function () { return global_js_1.configGlobal; } });
23
- Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return global_js_1.getLogger; } });
24
21
  __exportStar(require("./logLevels.js"), exports);
25
22
  __exportStar(require("./memory.js"), exports);
26
23
  var standardLog_js_1 = require("./standardLog.js");
24
+ Object.defineProperty(exports, "configGlobal", { enumerable: true, get: function () { return standardLog_js_1.configGlobal; } });
27
25
  Object.defineProperty(exports, "createStandardLog", { enumerable: true, get: function () { return standardLog_js_1.createStandardLog; } });
28
26
  Object.defineProperty(exports, "createStandardLogForTest", { enumerable: true, get: function () { return standardLog_js_1.createStandardLogForTest; } });
27
+ Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return standardLog_js_1.getLogger; } });
28
+ Object.defineProperty(exports, "suppressLogs", { enumerable: true, get: function () { return standardLog_js_1.suppressLogs; } });
29
29
  __exportStar(require("./types.js"), exports);
30
30
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,8CAA2B;AAC3B,iDAA8B;AAC9B,yCAAqD;AAA5C,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAChC,iDAA8B;AAC9B,8CAA2B;AAC3B,mDAEyB;AADvB,mHAAA,iBAAiB,OAAA;AAAE,0HAAA,wBAAwB,OAAA;AAE7C,6CAA0B","sourcesContent":["export * from './console.js'\nexport * from './errors.js'\nexport * from './formatter.js'\nexport { configGlobal, getLogger } from './global.js'\nexport * from './logLevels.js'\nexport * from './memory.js'\nexport {\n createStandardLog, createStandardLogForTest, StandardLog, StandardLogInstance\n} from './standardLog.js'\nexport * from './types.js'\n\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,8CAA2B;AAC3B,iDAA8B;AAC9B,iDAA8B;AAC9B,8CAA2B;AAC3B,mDAGyB;AAFvB,8GAAA,YAAY,OAAA;AAAE,mHAAA,iBAAiB,OAAA;AAAE,0HAAA,wBAAwB,OAAA;AACzD,2GAAA,SAAS,OAAA;AAAoC,8GAAA,YAAY,OAAA;AAE3D,6CAA0B","sourcesContent":["export * from './console.js'\nexport * from './errors.js'\nexport * from './formatter.js'\nexport * from './logLevels.js'\nexport * from './memory.js'\nexport {\n configGlobal, createStandardLog, createStandardLogForTest,\n getLogger, StandardLog, StandardLogInstance, suppressLogs\n} from './standardLog.js'\nexport * from './types.js'\n\n"]}
@@ -25,4 +25,13 @@ export declare function createStandardLogForTest(logLevel?: LogLevel): {
25
25
  * Suppress logging within the code block.
26
26
  */
27
27
  export declare function suppressLogs<R>(block: () => R, log: Logger, ...logs: Logger[]): R;
28
+ export declare function getLogger<N extends string = LogMethodNames>(params: [id: string, options?: LoggerOptions], meta?: StackTraceMeta): Logger<LogMethodNames | N>;
29
+ export declare const ctx: {
30
+ configured?: boolean;
31
+ gsl?: {
32
+ store: LogStore;
33
+ standardLog: StandardLogInstance<LogMethodNames>;
34
+ };
35
+ };
36
+ export declare function configGlobal(options: Omit<StandardLogOptions, 'customLevels'>): void;
28
37
  //# sourceMappingURL=standardLog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"standardLog.d.ts","sourceRoot":"","sources":["../ts/standardLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAErG,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAA;CAC5G;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc,CAAE,SAAQ,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc,EACjE,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,WAAW,CAAC,CAAC,CAAC,CAEhB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc,EACxE,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;CAAE,CAoBlD;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,GAAE,QAA0B;;;;;;EAI5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"standardLog.d.ts","sourceRoot":"","sources":["../ts/standardLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAErG,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAA;CAC5G;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc,CAAE,SAAQ,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc,EACjE,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,WAAW,CAAC,CAAC,CAAC,CAIhB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc,EACxE,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;CAAE,CAoBlD;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,GAAE,QAA0B;;;;;;EAI5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;AASlF,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc,EACzD,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,8BAErE;AAED,eAAO,MAAM,GAAG,EAAE;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,WAAW,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAA;KAAE,CAAA;CACjE,CAAA;AAQZ,wBAAgB,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,QAoB7E"}
@@ -11,14 +11,17 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.suppressLogs = exports.createStandardLogForTest = exports.createStandardLogClosure = exports.createStandardLog = void 0;
14
+ exports.configGlobal = exports.ctx = exports.getLogger = exports.suppressLogs = exports.createStandardLogForTest = exports.createStandardLogClosure = exports.createStandardLog = void 0;
15
15
  var type_plus_1 = require("type-plus");
16
16
  var logger_js_1 = require("./logger.js");
17
17
  var logLevels_js_1 = require("./logLevels.js");
18
18
  var logStore_js_1 = require("./logStore.js");
19
19
  var memory_js_1 = require("./memory.js");
20
20
  function createStandardLog(options) {
21
- return createStandardLogClosure(options).standardLog;
21
+ var closure = createStandardLogClosure(options);
22
+ if (!exports.ctx.gsl)
23
+ exports.ctx.gsl = closure;
24
+ return closure.standardLog;
22
25
  }
23
26
  exports.createStandardLog = createStandardLog;
24
27
  function createStandardLogClosure(options) {
@@ -62,4 +65,37 @@ function suppressLogs(block) {
62
65
  return result;
63
66
  }
64
67
  exports.suppressLogs = suppressLogs;
68
+ function getLogger(params, meta) {
69
+ return getGlobalSL().getLogger(params, meta);
70
+ }
71
+ exports.getLogger = getLogger;
72
+ exports.ctx = (0, type_plus_1.record)();
73
+ function getGlobalSL() {
74
+ if (!exports.ctx.gsl)
75
+ exports.ctx.gsl = createStandardLogClosure();
76
+ return exports.ctx.gsl.standardLog;
77
+ }
78
+ function configGlobal(options) {
79
+ var _a;
80
+ if (exports.ctx.configured) {
81
+ var log = (_a = exports.ctx.gsl) === null || _a === void 0 ? void 0 : _a.standardLog.getLogger(['standard-log']);
82
+ log === null || log === void 0 ? void 0 : log.warn('configGlobal() is being called more than once. Please make sure this is expected. Application should use `createStandardLog()` most of the time.');
83
+ }
84
+ if (exports.ctx.gsl) {
85
+ if (options.logLevel) {
86
+ exports.ctx.gsl.store.logLevel = options.logLevel;
87
+ }
88
+ if (options.reporters) {
89
+ var reporters = exports.ctx.gsl.store.reporters;
90
+ while (reporters.length > 0)
91
+ reporters.pop();
92
+ reporters.push.apply(reporters, options.reporters);
93
+ }
94
+ }
95
+ else {
96
+ exports.ctx.gsl = createStandardLogClosure(options);
97
+ }
98
+ exports.ctx.configured = true;
99
+ }
100
+ exports.configGlobal = configGlobal;
65
101
  //# sourceMappingURL=standardLog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standardLog.js","sourceRoot":"","sources":["../ts/standardLog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,uCAAoC;AACpC,yCAA0C;AAC1C,+CAA0C;AAC1C,6CAAwD;AACxD,yCAAqD;AAarD,SAAgB,iBAAiB,CAC/B,OAA+B;IAE/B,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAA;AACtD,CAAC;AAJD,8CAIC;AAED,SAAgB,wBAAwB,CACtC,OAA+B;IAE/B,IAAM,KAAK,GAAG,IAAA,4BAAc,EAAC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,wBAAS,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IAE7E,OAAO;QACL,KAAK,OAAA;QACL,WAAW,EAAE;YACX,IAAI,QAAQ,KAAK,OAAO,KAAK,CAAC,QAAQ,CAAA,CAAC,CAAC;YAExC,cAAc,EAAd,UAAe,KAAa;gBAC1B,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC3C,CAAC;YACD,UAAU,EAAV,UAAW,IAAY;gBACrB,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC3C,CAAC;YACD,SAAS,EAAT,UAAU,EAAoD,EAAE,IAAqB;oBAA1E,EAAE,QAAA,EAAE,OAAO,QAAA;gBACpB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAAE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAQ,CAAA;gBACtD,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAA,wBAAY,EAAC,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,aAAI,GAAG,EAAE,IAAI,CAAC,SAAS,IAAK,IAAI,EAAU,CAAA;YACxG,CAAC;SACF;KACF,CAAA;AACH,CAAC;AAtBD,4DAsBC;AAED,SAAgB,wBAAwB,CAAC,QAAoC;IAApC,yBAAA,EAAA,WAAqB,wBAAS,CAAC,KAAK;IAC3E,IAAM,QAAQ,GAAG,IAAA,mCAAuB,GAAE,CAAA;IAC1C,IAAM,WAAW,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAA;IAC1E,6BAAY,WAAW,KAAE,QAAQ,UAAA,IAAE;AACrC,CAAC;AAJD,4DAIC;AAMD,SAAgB,YAAY,CAAI,KAAc;IAAE,cAAiB;SAAjB,UAAiB,EAAjB,qBAAiB,EAAjB,IAAiB;QAAjB,6BAAiB;;IAC/D,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAG,wBAAS,CAAC,IAAI,EAAxB,CAAwB,CAAC,CAAA;IAC3C,IAAM,MAAM,GAAG,KAAK,EAAE,CAAA;IACtB,IAAI,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAA;AACf,CAAC;AAND,oCAMC","sourcesContent":["import { StackTraceMeta } from '@just-func/types'\nimport { required } from 'type-plus'\nimport { createLogger } from './logger.js'\nimport { logLevels } from './logLevels.js'\nimport { createLogStore, LogStore } from './logStore.js'\nimport { createMemoryLogReporter } from './memory.js'\nimport type { Logger, LoggerOptions, LogLevel, LogMethodNames, StandardLogOptions } from './types.js'\n\nexport interface StandardLogInstance<N extends string = LogMethodNames> {\n logLevel: number,\n toLogLevelName(level: number): string,\n toLogLevel(name: N): number,\n getLogger(params: [id: string, options?: LoggerOptions], meta?: StackTraceMeta): Logger<N | LogMethodNames>\n}\n\nexport interface StandardLog<N extends string = LogMethodNames> extends Readonly<StandardLogInstance<N>> {\n}\n\nexport function createStandardLog<N extends string = LogMethodNames>(\n options?: StandardLogOptions<N>\n): StandardLog<N> {\n return createStandardLogClosure(options).standardLog\n}\n\nexport function createStandardLogClosure<N extends string = LogMethodNames>(\n options?: StandardLogOptions<N>\n): { store: LogStore, standardLog: StandardLog<N> } {\n const store = createLogStore(required({ logLevel: logLevels.info }, options))\n\n return {\n store,\n standardLog: {\n get logLevel() { return store.logLevel },\n\n toLogLevelName(level: number) {\n return store.logLevelStore.getName(level)\n },\n toLogLevel(name: string) {\n return store.logLevelStore.getLevel(name)\n },\n getLogger([id, options]: [id: string, options?: LoggerOptions], meta?: StackTraceMeta) {\n if (store.loggers[id]) return store.loggers[id] as any\n return store.loggers[id] = createLogger([store, id, options], { ssf: this.getLogger, ...meta }) as any\n }\n }\n }\n}\n\nexport function createStandardLogForTest(logLevel: LogLevel = logLevels.debug) {\n const reporter = createMemoryLogReporter()\n const standardLog = createStandardLog({ reporters: [reporter], logLevel })\n return { ...standardLog, reporter }\n}\n\n/**\n * Suppress logging within the code block.\n */\nexport function suppressLogs<R>(block: () => R, log: Logger, ...logs: Logger[]): R\nexport function suppressLogs<R>(block: () => R, ...logs: Logger[]): R {\n const origLevels = logs.map(l => l.level)\n logs.forEach(l => l.level = logLevels.none)\n const result = block()\n logs.forEach((l, i) => l.level = origLevels[i])\n return result\n}\n"]}
1
+ {"version":3,"file":"standardLog.js","sourceRoot":"","sources":["../ts/standardLog.ts"],"names":[],"mappings":"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","sourcesContent":["import { StackTraceMeta } from '@just-func/types'\nimport { record, required } from 'type-plus'\nimport { createLogger } from './logger.js'\nimport { logLevels } from './logLevels.js'\nimport { createLogStore, LogStore } from './logStore.js'\nimport { createMemoryLogReporter } from './memory.js'\nimport type { Logger, LoggerOptions, LogLevel, LogMethodNames, StandardLogOptions } from './types.js'\n\nexport interface StandardLogInstance<N extends string = LogMethodNames> {\n logLevel: number,\n toLogLevelName(level: number): string,\n toLogLevel(name: N): number,\n getLogger(params: [id: string, options?: LoggerOptions], meta?: StackTraceMeta): Logger<N | LogMethodNames>\n}\n\nexport interface StandardLog<N extends string = LogMethodNames> extends Readonly<StandardLogInstance<N>> {\n}\n\nexport function createStandardLog<N extends string = LogMethodNames>(\n options?: StandardLogOptions<N>\n): StandardLog<N> {\n const closure = createStandardLogClosure(options)\n if (!ctx.gsl) ctx.gsl = closure as any\n return closure.standardLog\n}\n\nexport function createStandardLogClosure<N extends string = LogMethodNames>(\n options?: StandardLogOptions<N>\n): { store: LogStore, standardLog: StandardLog<N> } {\n const store = createLogStore(required({ logLevel: logLevels.info }, options))\n\n return {\n store,\n standardLog: {\n get logLevel() { return store.logLevel },\n\n toLogLevelName(level: number) {\n return store.logLevelStore.getName(level)\n },\n toLogLevel(name: string) {\n return store.logLevelStore.getLevel(name)\n },\n getLogger([id, options]: [id: string, options?: LoggerOptions], meta?: StackTraceMeta) {\n if (store.loggers[id]) return store.loggers[id] as any\n return store.loggers[id] = createLogger([store, id, options], { ssf: this.getLogger, ...meta }) as any\n }\n }\n }\n}\n\nexport function createStandardLogForTest(logLevel: LogLevel = logLevels.debug) {\n const reporter = createMemoryLogReporter()\n const standardLog = createStandardLog({ reporters: [reporter], logLevel })\n return { ...standardLog, reporter }\n}\n\n/**\n * Suppress logging within the code block.\n */\nexport function suppressLogs<R>(block: () => R, log: Logger, ...logs: Logger[]): R\nexport function suppressLogs<R>(block: () => R, ...logs: Logger[]): R {\n const origLevels = logs.map(l => l.level)\n logs.forEach(l => l.level = logLevels.none)\n const result = block()\n logs.forEach((l, i) => l.level = origLevels[i])\n return result\n}\n\nexport function getLogger<N extends string = LogMethodNames>(\n params: [id: string, options?: LoggerOptions], meta?: StackTraceMeta) {\n return getGlobalSL<N>().getLogger(params, meta)\n}\n\nexport const ctx: {\n configured?: boolean,\n gsl?: { store: LogStore, standardLog: StandardLogInstance<LogMethodNames> }\n} = record()\n\nfunction getGlobalSL<N extends string = LogMethodNames>(): StandardLogInstance<N> {\n if (!ctx.gsl) ctx.gsl = createStandardLogClosure()\n\n return ctx.gsl!.standardLog as StandardLogInstance<N>\n}\n\nexport function configGlobal(options: Omit<StandardLogOptions, 'customLevels'>) {\n if (ctx.configured) {\n const log = ctx.gsl?.standardLog.getLogger(['standard-log'])\n log?.warn('configGlobal() is being called more than once. Please make sure this is expected. Application should use `createStandardLog()` most of the time.')\n }\n\n if (ctx.gsl) {\n if (options.logLevel) {\n ctx.gsl.store.logLevel = options.logLevel\n }\n if (options.reporters) {\n const reporters = ctx.gsl.store.reporters\n while (reporters.length > 0) reporters.pop()\n reporters.push(...options.reporters)\n }\n }\n else {\n ctx.gsl = createStandardLogClosure(options)\n }\n ctx.configured = true\n}\n"]}
@@ -38,6 +38,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var assertron_1 = require("assertron");
40
40
  var errors_js_1 = require("./errors.js");
41
+ var index_js_1 = require("./index.js");
41
42
  var logLevels_js_1 = require("./logLevels.js");
42
43
  var memory_js_1 = require("./memory.js");
43
44
  var standardLog_js_1 = require("./standardLog.js");
@@ -45,91 +46,102 @@ var testUtil_js_1 = require("./testUtil.js");
45
46
  describe('createStandardLog()', function () {
46
47
  describe('logLevel', function () {
47
48
  it('is default to info', function () {
48
- var actual = (0, standardLog_js_1.createStandardLog)();
49
+ var actual = (0, index_js_1.createStandardLog)();
49
50
  expect(actual.logLevel).toBe(logLevels_js_1.logLevels.info);
50
51
  });
51
52
  it('is readonly', function () {
52
- var actual = (0, standardLog_js_1.createStandardLog)();
53
+ var actual = (0, index_js_1.createStandardLog)();
53
54
  assertron_1.assertron.throws(function () { return actual.logLevel = logLevels_js_1.logLevels.planck; }, function (err) { return /only a getter/.test(err); });
54
55
  });
55
56
  it('set logLevel from options', function () {
56
- var actual = (0, standardLog_js_1.createStandardLog)({ logLevel: logLevels_js_1.logLevels.planck });
57
+ var actual = (0, index_js_1.createStandardLog)({ logLevel: logLevels_js_1.logLevels.planck });
57
58
  expect(actual.logLevel).toBe(logLevels_js_1.logLevels.planck);
58
59
  });
59
60
  });
60
61
  describe('custom levels', function () {
61
62
  it('can define custom levels', function () {
62
- var actual = (0, standardLog_js_1.createStandardLog)({ customLevels: { urgent: 80 } });
63
+ var actual = (0, index_js_1.createStandardLog)({ customLevels: { urgent: 80 } });
63
64
  expect(actual.toLogLevelName(80)).toBe('urgent');
64
65
  });
65
66
  });
66
67
  describe('reporters', function () {
67
68
  it('can specify reporter', function () {
68
69
  var mem = (0, memory_js_1.createMemoryLogReporter)();
69
- var sl = (0, standardLog_js_1.createStandardLog)({ reporters: [mem] });
70
+ var sl = (0, index_js_1.createStandardLog)({ reporters: [mem] });
70
71
  var log = sl.getLogger(['x']);
71
72
  log.info('abc');
72
73
  expect(mem.logs.length).toBe(1);
73
74
  });
74
75
  });
76
+ describe('related to global', function () {
77
+ beforeEach(function () {
78
+ standardLog_js_1.ctx.gsl = undefined;
79
+ standardLog_js_1.ctx.configured = false;
80
+ });
81
+ it('will affect getLogger() if configGlobal() is not called', function () {
82
+ var _a;
83
+ (0, index_js_1.createStandardLog)({ logLevel: logLevels_js_1.logLevels.planck });
84
+ expect((_a = standardLog_js_1.ctx.gsl) === null || _a === void 0 ? void 0 : _a.standardLog.logLevel).toBe(logLevels_js_1.logLevels.planck);
85
+ });
86
+ });
75
87
  });
76
88
  describe('createStandardLogForTest()', function () {
77
89
  it('returns with memory reporter', function () {
78
- var reporter = (0, standardLog_js_1.createStandardLogForTest)().reporter;
90
+ var reporter = (0, index_js_1.createStandardLogForTest)().reporter;
79
91
  expect(reporter.getLogMessageWithLevel()).toBe('');
80
92
  });
81
93
  it('defaults to debug', function () {
82
- var store = (0, standardLog_js_1.createStandardLogForTest)();
94
+ var store = (0, index_js_1.createStandardLogForTest)();
83
95
  expect(store.logLevel).toBe(logLevels_js_1.logLevels.debug);
84
96
  });
85
97
  });
86
- describe('getLogger()', function () {
98
+ describe('standardLog.getLogger()', function () {
87
99
  it('supports id with alphanumeric and :_-.', function () {
88
- var sl = (0, standardLog_js_1.createStandardLog)();
100
+ var sl = (0, index_js_1.createStandardLog)();
89
101
  sl.getLogger(['abcdefghijklmnopqrstuvwxyz:-_.1234567890']);
90
102
  });
91
103
  it('supports id with unicode', function () {
92
- var sl = (0, standardLog_js_1.createStandardLog)();
104
+ var sl = (0, index_js_1.createStandardLog)();
93
105
  sl.getLogger(['ミク香港']);
94
106
  });
95
107
  it('supports id with @, \\ and /', function () {
96
- var sl = (0, standardLog_js_1.createStandardLog)();
108
+ var sl = (0, index_js_1.createStandardLog)();
97
109
  sl.getLogger(['@unional/fixture']);
98
110
  sl.getLogger(["a\\b\\c"]);
99
111
  });
100
112
  it.each('`~!#$%^&*()=+|[]{}<>,?'.split(''))('throws if id has unsupported character %s', function (char) {
101
- var sl = (0, standardLog_js_1.createStandardLog)();
113
+ var sl = (0, index_js_1.createStandardLog)();
102
114
  assertron_1.assertron.throws(function () { return sl.getLogger([char]); }, errors_js_1.InvalidId);
103
115
  });
104
116
  it('throw InvalidId with ssf to the call site', function () {
105
- var sl = (0, standardLog_js_1.createStandardLog)();
117
+ var sl = (0, index_js_1.createStandardLog)();
106
118
  var err = assertron_1.assertron.throws(function () { return sl.getLogger(['!']); }, errors_js_1.InvalidId);
107
119
  (0, testUtil_js_1.assertSSF)(err, __filename);
108
120
  });
109
121
  test('id is readonly', function () {
110
- var sl = (0, standardLog_js_1.createStandardLog)();
122
+ var sl = (0, index_js_1.createStandardLog)();
111
123
  var log = sl.getLogger(['id is readonly']);
112
124
  assertron_1.assertron.throws(function () { return log.id = 'b'; });
113
125
  });
114
126
  test('get logger with same name gets the same instance', function () {
115
- var sl = (0, standardLog_js_1.createStandardLog)();
127
+ var sl = (0, index_js_1.createStandardLog)();
116
128
  var expected = sl.getLogger(['same-inst']);
117
129
  var actual = sl.getLogger(['same-inst']);
118
130
  expect(actual).toBe(expected);
119
131
  });
120
132
  it('can specify local log level', function () {
121
- var sl = (0, standardLog_js_1.createStandardLog)();
133
+ var sl = (0, index_js_1.createStandardLog)();
122
134
  var log = sl.getLogger(['local', { level: logLevels_js_1.logLevels.trace }]);
123
135
  expect(log.level).toBe(logLevels_js_1.logLevels.trace);
124
136
  });
125
137
  test('new logger will get custom level', function () {
126
- var sl = (0, standardLog_js_1.createStandardLog)({ customLevels: { 'to_logger': 1234 } });
138
+ var sl = (0, index_js_1.createStandardLog)({ customLevels: { 'to_logger': 1234 } });
127
139
  var actual = sl.getLogger(['to_logger_logger']);
128
140
  expect(typeof actual.to_logger).toBe('function');
129
141
  });
130
142
  it('Logger have at least the default log method names', function () {
131
143
  function wrapper(options) {
132
- var sl = (0, standardLog_js_1.createStandardLog)(options);
144
+ var sl = (0, index_js_1.createStandardLog)(options);
133
145
  // since `N` is generic, just `Logger<N>` will not have the default log method names.
134
146
  var log = sl.getLogger(['local']);
135
147
  expect(log.info).toBeDefined();
@@ -231,14 +243,14 @@ describe('getLogger()', function () {
231
243
  });
232
244
  }
233
245
  var shouldLog = (0, testUtil_js_1.wrapTest)(function (test) { return function (method, level) {
234
- var sl = (0, standardLog_js_1.createStandardLogForTest)(level);
246
+ var sl = (0, index_js_1.createStandardLogForTest)(level);
235
247
  var name = sl.toLogLevelName(level);
236
248
  test("".concat(method, "() should log on level: ").concat(name, " (").concat(level, ")"), function () {
237
249
  return assertLoggedAtLevel(sl, method, level);
238
250
  });
239
251
  }; });
240
252
  var shouldNotLog = (0, testUtil_js_1.wrapTest)(function (test) { return function (method, level) {
241
- var sl = (0, standardLog_js_1.createStandardLogForTest)(level);
253
+ var sl = (0, index_js_1.createStandardLogForTest)(level);
242
254
  var name = sl.toLogLevelName(level);
243
255
  test("".concat(method, "() should not log on level: ").concat(name, " (").concat(level, ")"), function () {
244
256
  return assertNotLoggedAtLevel(sl, method, level);
@@ -249,7 +261,7 @@ describe('getLogger()', function () {
249
261
  [logLevels_js_1.logLevels.none, logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug].forEach(function (globalLevel) {
250
262
  var globalName = (0, logLevels_js_1.toLogLevelName)(globalLevel) || 'none';
251
263
  test("".concat(method, "() should log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
252
- var sl = (0, standardLog_js_1.createStandardLogForTest)(globalLevel);
264
+ var sl = (0, index_js_1.createStandardLogForTest)(globalLevel);
253
265
  return assertLoggedAtLocalLevel(sl, method, localLevel);
254
266
  });
255
267
  });
@@ -259,7 +271,7 @@ describe('getLogger()', function () {
259
271
  [logLevels_js_1.logLevels.none, logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug].forEach(function (globalLevel) {
260
272
  var globalName = (0, logLevels_js_1.toLogLevelName)(globalLevel) || 'none';
261
273
  test("".concat(method, "() should not log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
262
- var sl = (0, standardLog_js_1.createStandardLogForTest)(globalLevel);
274
+ var sl = (0, index_js_1.createStandardLogForTest)(globalLevel);
263
275
  return assertNotLoggedAtLocalLevel(sl, method, localLevel);
264
276
  });
265
277
  });
@@ -268,7 +280,7 @@ describe('getLogger()', function () {
268
280
  var method = (0, logLevels_js_1.toLogLevelName)(callLevel);
269
281
  var name = (0, logLevels_js_1.toLogLevelName)(actualLevel);
270
282
  test("".concat(method, "() should call log function on level: ").concat(name, " (").concat(actualLevel, ")"), function () {
271
- var sl = (0, standardLog_js_1.createStandardLogForTest)(actualLevel);
283
+ var sl = (0, index_js_1.createStandardLogForTest)(actualLevel);
272
284
  return assertLoggedAtCallLevel(sl, method, callLevel);
273
285
  });
274
286
  }; });
@@ -276,7 +288,7 @@ describe('getLogger()', function () {
276
288
  var method = (0, logLevels_js_1.toLogLevelName)(callLevel);
277
289
  var name = (0, logLevels_js_1.toLogLevelName)(actualLevel);
278
290
  test("".concat(method, "() should not call log function on level: ").concat(name, " (").concat(actualLevel, ")"), function () {
279
- var sl = (0, standardLog_js_1.createStandardLogForTest)(actualLevel);
291
+ var sl = (0, index_js_1.createStandardLogForTest)(actualLevel);
280
292
  return assertNotLoggedAtCallLevel(sl, method, callLevel, actualLevel);
281
293
  });
282
294
  }; });
@@ -286,7 +298,7 @@ describe('getLogger()', function () {
286
298
  [logLevels_js_1.logLevels.none, logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug].forEach(function (globalLevel) {
287
299
  var globalName = (0, logLevels_js_1.toLogLevelName)(globalLevel) || 'none';
288
300
  test("".concat(method, "() should log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
289
- var sl = (0, standardLog_js_1.createStandardLogForTest)(globalLevel);
301
+ var sl = (0, index_js_1.createStandardLogForTest)(globalLevel);
290
302
  return assertLoggedAtCallLevelOverrideLocalLevel(sl, method, localLevel, callLevel);
291
303
  });
292
304
  });
@@ -297,7 +309,7 @@ describe('getLogger()', function () {
297
309
  [logLevels_js_1.logLevels.none, logLevels_js_1.logLevels.error, logLevels_js_1.logLevels.warn, logLevels_js_1.logLevels.info, logLevels_js_1.logLevels.debug].forEach(function (globalLevel) {
298
310
  var globalName = (0, logLevels_js_1.toLogLevelName)(globalLevel) || 'none';
299
311
  test("".concat(method, "() should not log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
300
- var sl = (0, standardLog_js_1.createStandardLogForTest)(globalLevel);
312
+ var sl = (0, index_js_1.createStandardLogForTest)(globalLevel);
301
313
  return assertNotLoggedAtCallLevelOverrideLocalLevel(sl, method, localLevel, callLevel);
302
314
  });
303
315
  });
@@ -384,20 +396,20 @@ describe('getLogger()', function () {
384
396
  shouldCallLogFunctionWithLocalLevelOverride(logLevels_js_1.logLevels.debug, logLevels_js_1.logLevels.debug);
385
397
  });
386
398
  it('writes entry directly', function () {
387
- var sl = (0, standardLog_js_1.createStandardLogForTest)();
399
+ var sl = (0, index_js_1.createStandardLogForTest)();
388
400
  var log = sl.getLogger(['write-entry']);
389
401
  var entry = { id: 'write-entry', level: logLevels_js_1.logLevels.info, args: ['abc'], timestamp: new Date() };
390
402
  log.write(entry);
391
403
  assertron_1.assertron.satisfies(sl.reporter.logs, [entry]);
392
404
  });
393
405
  test.each(['on', 'count', 'error', 'warn', 'info', 'debug'])('method %s is readonly', function (name) {
394
- var sl = (0, standardLog_js_1.createStandardLog)();
406
+ var sl = (0, index_js_1.createStandardLog)();
395
407
  var log = sl.getLogger(["".concat(name, " is readonly")]);
396
408
  assertron_1.assertron.throws(function () { return log[name] = true; });
397
409
  });
398
410
  describe('on()', function () {
399
411
  it('log using log argument', function () {
400
- var sl = (0, standardLog_js_1.createStandardLogForTest)();
412
+ var sl = (0, index_js_1.createStandardLogForTest)();
401
413
  var logger = sl.getLogger(['log on fn']);
402
414
  logger.on('error', function (log) { log('value'); });
403
415
  assertron_1.assertron.satisfies(sl.reporter.logs, [
@@ -405,7 +417,7 @@ describe('getLogger()', function () {
405
417
  ]);
406
418
  });
407
419
  it('can take log level name in first argument', function () {
408
- var sl = (0, standardLog_js_1.createStandardLogForTest)();
420
+ var sl = (0, index_js_1.createStandardLogForTest)();
409
421
  var log = sl.getLogger(['string-on']);
410
422
  log.on('debug', function () { return; });
411
423
  });
@@ -414,7 +426,7 @@ describe('getLogger()', function () {
414
426
  test('will increment the counter', function () { return __awaiter(void 0, void 0, void 0, function () {
415
427
  var sl, logger;
416
428
  return __generator(this, function (_a) {
417
- sl = (0, standardLog_js_1.createStandardLogForTest)();
429
+ sl = (0, index_js_1.createStandardLogForTest)();
418
430
  logger = sl.getLogger(['inc counter']);
419
431
  logger.count();
420
432
  logger.count();
@@ -428,7 +440,7 @@ describe('getLogger()', function () {
428
440
  test('append args after the counter', function () { return __awaiter(void 0, void 0, void 0, function () {
429
441
  var sl, id, logger;
430
442
  return __generator(this, function (_a) {
431
- sl = (0, standardLog_js_1.createStandardLogForTest)(logLevels_js_1.logLevels.debug);
443
+ sl = (0, index_js_1.createStandardLogForTest)(logLevels_js_1.logLevels.debug);
432
444
  id = 'inc with args';
433
445
  logger = sl.getLogger([id]);
434
446
  logger.count('msg1', 'msg2');
@@ -441,7 +453,7 @@ describe('getLogger()', function () {
441
453
  test('not log if log level is less than debug', function () { return __awaiter(void 0, void 0, void 0, function () {
442
454
  var sl, id, logger;
443
455
  return __generator(this, function (_a) {
444
- sl = (0, standardLog_js_1.createStandardLogForTest)(logLevels_js_1.logLevels.debug - 1);
456
+ sl = (0, index_js_1.createStandardLogForTest)(logLevels_js_1.logLevels.debug - 1);
445
457
  id = 'inc with args';
446
458
  logger = sl.getLogger([id]);
447
459
  logger.count('msg1', 'msg2');
@@ -454,7 +466,7 @@ describe('getLogger()', function () {
454
466
  var mem, sl, logger;
455
467
  return __generator(this, function (_a) {
456
468
  mem = (0, memory_js_1.createMemoryLogReporter)();
457
- sl = (0, standardLog_js_1.createStandardLog)({ customLevels: { 'cust_lvl': 100 }, reporters: [mem] });
469
+ sl = (0, index_js_1.createStandardLog)({ customLevels: { 'cust_lvl': 100 }, reporters: [mem] });
458
470
  logger = sl.getLogger(['cust']);
459
471
  logger.cust_lvl('a', 'b');
460
472
  assertron_1.assertron.satisfies(mem.logs, [{ id: 'cust', level: 100, args: ['a', 'b'] }]);
@@ -465,7 +477,7 @@ describe('getLogger()', function () {
465
477
  function testWriteTo(loggerParams, handler) {
466
478
  var memReporter = (0, memory_js_1.createMemoryLogReporter)();
467
479
  var specialReporter = (0, memory_js_1.createMemoryLogReporter)({ id: 'special' });
468
- var sl = (0, standardLog_js_1.createStandardLog)({ reporters: [memReporter, specialReporter] });
480
+ var sl = (0, index_js_1.createStandardLog)({ reporters: [memReporter, specialReporter] });
469
481
  var log = sl.getLogger(loggerParams);
470
482
  handler(log, memReporter.logs, specialReporter.logs, sl);
471
483
  }
@@ -520,29 +532,65 @@ describe('getLogger()', function () {
520
532
  });
521
533
  describe('suppressLogs()', function () {
522
534
  test('suppress log', function () {
523
- var sl = (0, standardLog_js_1.createStandardLogForTest)();
535
+ var sl = (0, index_js_1.createStandardLogForTest)();
524
536
  var log = sl.getLogger(['l']);
525
- (0, standardLog_js_1.suppressLogs)(function () {
537
+ (0, index_js_1.suppressLogs)(function () {
526
538
  log.alert('should not see me');
527
539
  }, log);
528
540
  expect(sl.reporter.getLogMessageWithLevel()).toBe('');
529
541
  });
530
542
  test('suppress multiple logs', function () {
531
- var sl = (0, standardLog_js_1.createStandardLogForTest)();
543
+ var sl = (0, index_js_1.createStandardLogForTest)();
532
544
  var log1 = sl.getLogger(['l1']);
533
545
  var log2 = sl.getLogger(['l2']);
534
- (0, standardLog_js_1.suppressLogs)(function () {
546
+ (0, index_js_1.suppressLogs)(function () {
535
547
  log1.alert('should not see me');
536
548
  log2.alert('should not see me too');
537
549
  }, log1, log2);
538
550
  expect(sl.reporter.getLogMessageWithLevel()).toBe('');
539
551
  });
540
552
  test('return block result', function () {
541
- var sl = (0, standardLog_js_1.createStandardLogForTest)();
553
+ var sl = (0, index_js_1.createStandardLogForTest)();
542
554
  var log1 = sl.getLogger(['l']);
543
555
  var log2 = sl.getLogger(['l2']);
544
- var a = (0, standardLog_js_1.suppressLogs)(function () { return 1; }, log1, log2);
556
+ var a = (0, index_js_1.suppressLogs)(function () { return 1; }, log1, log2);
545
557
  expect(a).toBe(1);
546
558
  });
547
559
  });
560
+ describe('getLogger()', function () {
561
+ it('gets a logger that logs to console by default', function () {
562
+ var log = (0, index_js_1.getLogger)(['default']);
563
+ log.info('from global log, expected to be printed');
564
+ log.debug('from global log, this should not be printed');
565
+ });
566
+ });
567
+ describe('configGlobal()', function () {
568
+ beforeEach(function () {
569
+ standardLog_js_1.ctx.gsl = undefined;
570
+ standardLog_js_1.ctx.configured = false;
571
+ });
572
+ it('configure the global instance', function () {
573
+ var mem = (0, memory_js_1.createMemoryLogReporter)();
574
+ (0, standardLog_js_1.configGlobal)({ logLevel: logLevels_js_1.logLevels.error, reporters: [mem] });
575
+ var log = (0, index_js_1.getLogger)(['default']);
576
+ log.error('error message');
577
+ log.info('info message');
578
+ expect(mem.logs.length).toBe(1);
579
+ });
580
+ it('can call after getLogger', function () {
581
+ var log = (0, index_js_1.getLogger)(['default']);
582
+ log.info('from global log, expected to be printed');
583
+ var mem = (0, memory_js_1.createMemoryLogReporter)();
584
+ (0, standardLog_js_1.configGlobal)({ logLevel: logLevels_js_1.logLevels.error, reporters: [mem] });
585
+ log.error('from global log, expected to be printed');
586
+ log.info('from global log, this should not be printed');
587
+ expect(mem.logs.length).toBe(1);
588
+ });
589
+ it('will emit a warning when called twice', function () {
590
+ var mem = (0, memory_js_1.createMemoryLogReporter)();
591
+ (0, standardLog_js_1.configGlobal)({ reporters: [mem] });
592
+ (0, standardLog_js_1.configGlobal)({ reporters: [] });
593
+ assertron_1.assertron.satisfies(mem.logs, [{ id: 'standard-log', level: logLevels_js_1.logLevels.warn, args: [/being called more than once/] }]);
594
+ });
595
+ });
548
596
  //# sourceMappingURL=standardLog.spec.js.map