@wireio/shared 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/lib/guards/applyTypeGuardExtras.d.ts +3 -0
  2. package/lib/guards/applyTypeGuardExtras.d.ts.map +1 -0
  3. package/lib/guards/applyTypeGuardExtras.js +5 -0
  4. package/lib/guards/applyTypeGuardExtras.js.map +1 -0
  5. package/lib/guards/array.d.ts +2 -0
  6. package/lib/guards/array.d.ts.map +1 -0
  7. package/lib/guards/array.js +4 -0
  8. package/lib/guards/array.js.map +1 -0
  9. package/lib/guards/assert.d.ts +19 -0
  10. package/lib/guards/assert.d.ts.map +1 -0
  11. package/lib/guards/assert.js +50 -0
  12. package/lib/guards/assert.js.map +1 -0
  13. package/lib/guards/class.d.ts +27 -0
  14. package/lib/guards/class.d.ts.map +1 -0
  15. package/lib/guards/class.js +34 -0
  16. package/lib/guards/class.js.map +1 -0
  17. package/lib/guards/guard-tools.d.ts +20 -0
  18. package/lib/guards/guard-tools.d.ts.map +1 -0
  19. package/lib/guards/guard-tools.js +50 -0
  20. package/lib/guards/guard-tools.js.map +1 -0
  21. package/lib/guards/index.d.ts +8 -0
  22. package/lib/guards/index.d.ts.map +1 -0
  23. package/lib/guards/index.js +8 -0
  24. package/lib/guards/index.js.map +1 -0
  25. package/lib/guards/primitive.d.ts +26 -0
  26. package/lib/guards/primitive.d.ts.map +1 -0
  27. package/lib/guards/primitive.js +47 -0
  28. package/lib/guards/primitive.js.map +1 -0
  29. package/lib/guards/types.d.ts +10 -0
  30. package/lib/guards/types.d.ts.map +1 -0
  31. package/lib/guards/types.js +2 -0
  32. package/lib/guards/types.js.map +1 -0
  33. package/lib/helpers/Deferred.d.ts +31 -0
  34. package/lib/helpers/Deferred.d.ts.map +1 -0
  35. package/lib/helpers/Deferred.js +111 -0
  36. package/lib/helpers/Deferred.js.map +1 -0
  37. package/lib/helpers/index.d.ts +2 -0
  38. package/lib/helpers/index.d.ts.map +1 -0
  39. package/lib/helpers/index.js +2 -0
  40. package/lib/helpers/index.js.map +1 -0
  41. package/lib/index.d.ts +4 -0
  42. package/lib/index.d.ts.map +1 -0
  43. package/lib/index.js +4 -0
  44. package/lib/index.js.map +1 -0
  45. package/lib/logging/Appender.d.ts +5 -0
  46. package/lib/logging/Appender.d.ts.map +1 -0
  47. package/lib/logging/Appender.js +2 -0
  48. package/lib/logging/Appender.js.map +1 -0
  49. package/lib/logging/Formatter.d.ts +3 -0
  50. package/lib/logging/Formatter.d.ts.map +1 -0
  51. package/lib/logging/Formatter.js +2 -0
  52. package/lib/logging/Formatter.js.map +1 -0
  53. package/lib/logging/InternalLogger.d.ts +2 -0
  54. package/lib/logging/InternalLogger.d.ts.map +1 -0
  55. package/lib/logging/InternalLogger.js +6 -0
  56. package/lib/logging/InternalLogger.js.map +1 -0
  57. package/lib/logging/Level.d.ts +14 -0
  58. package/lib/logging/Level.d.ts.map +1 -0
  59. package/lib/logging/Level.js +13 -0
  60. package/lib/logging/Level.js.map +1 -0
  61. package/lib/logging/LogRecord.d.ts +16 -0
  62. package/lib/logging/LogRecord.d.ts.map +1 -0
  63. package/lib/logging/LogRecord.js +2 -0
  64. package/lib/logging/LogRecord.js.map +1 -0
  65. package/lib/logging/Logger.d.ts +77 -0
  66. package/lib/logging/Logger.d.ts.map +1 -0
  67. package/lib/logging/Logger.js +158 -0
  68. package/lib/logging/Logger.js.map +1 -0
  69. package/lib/logging/LoggingManager.d.ts +128 -0
  70. package/lib/logging/LoggingManager.d.ts.map +1 -0
  71. package/lib/logging/LoggingManager.js +236 -0
  72. package/lib/logging/LoggingManager.js.map +1 -0
  73. package/lib/logging/appenders/ConsoleAppender.d.ts +55 -0
  74. package/lib/logging/appenders/ConsoleAppender.d.ts.map +1 -0
  75. package/lib/logging/appenders/ConsoleAppender.js +72 -0
  76. package/lib/logging/appenders/ConsoleAppender.js.map +1 -0
  77. package/lib/logging/appenders/DebugAppender.d.ts +53 -0
  78. package/lib/logging/appenders/DebugAppender.d.ts.map +1 -0
  79. package/lib/logging/appenders/DebugAppender.js +183 -0
  80. package/lib/logging/appenders/DebugAppender.js.map +1 -0
  81. package/lib/logging/appenders/FileAppender.d.ts +65 -0
  82. package/lib/logging/appenders/FileAppender.d.ts.map +1 -0
  83. package/lib/logging/appenders/FileAppender.js +212 -0
  84. package/lib/logging/appenders/FileAppender.js.map +1 -0
  85. package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.d.ts +27 -0
  86. package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.d.ts.map +1 -0
  87. package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.js +135 -0
  88. package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.js.map +1 -0
  89. package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts +27 -0
  90. package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts.map +1 -0
  91. package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.js +94 -0
  92. package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.js.map +1 -0
  93. package/lib/logging/appenders/index.d.ts +4 -0
  94. package/lib/logging/appenders/index.d.ts.map +1 -0
  95. package/lib/logging/appenders/index.js +4 -0
  96. package/lib/logging/appenders/index.js.map +1 -0
  97. package/lib/logging/context/LogContext.d.ts +48 -0
  98. package/lib/logging/context/LogContext.d.ts.map +1 -0
  99. package/lib/logging/context/LogContext.js +58 -0
  100. package/lib/logging/context/LogContext.js.map +1 -0
  101. package/lib/logging/context/LogContextContainer.d.ts +9 -0
  102. package/lib/logging/context/LogContextContainer.d.ts.map +1 -0
  103. package/lib/logging/context/LogContextContainer.js +25 -0
  104. package/lib/logging/context/LogContextContainer.js.map +1 -0
  105. package/lib/logging/context/LogContextProvider.d.ts +24 -0
  106. package/lib/logging/context/LogContextProvider.d.ts.map +1 -0
  107. package/lib/logging/context/LogContextProvider.js +18 -0
  108. package/lib/logging/context/LogContextProvider.js.map +1 -0
  109. package/lib/logging/context/index.d.ts +4 -0
  110. package/lib/logging/context/index.d.ts.map +1 -0
  111. package/lib/logging/context/index.js +4 -0
  112. package/lib/logging/context/index.js.map +1 -0
  113. package/lib/logging/context/providers/node/NodeContextProvider.d.ts +2 -0
  114. package/lib/logging/context/providers/node/NodeContextProvider.d.ts.map +1 -0
  115. package/lib/logging/context/providers/node/NodeContextProvider.js +31 -0
  116. package/lib/logging/context/providers/node/NodeContextProvider.js.map +1 -0
  117. package/lib/logging/context/providers/node/index.d.ts +3 -0
  118. package/lib/logging/context/providers/node/index.d.ts.map +1 -0
  119. package/lib/logging/context/providers/node/index.js +2 -0
  120. package/lib/logging/context/providers/node/index.js.map +1 -0
  121. package/lib/logging/examples/example-debug-appender.d.ts +2 -0
  122. package/lib/logging/examples/example-debug-appender.d.ts.map +1 -0
  123. package/lib/logging/examples/example-debug-appender.js +14 -0
  124. package/lib/logging/examples/example-debug-appender.js.map +1 -0
  125. package/lib/logging/examples/example-file-appender.d.ts +2 -0
  126. package/lib/logging/examples/example-file-appender.d.ts.map +1 -0
  127. package/lib/logging/examples/example-file-appender.js +16 -0
  128. package/lib/logging/examples/example-file-appender.js.map +1 -0
  129. package/lib/logging/getLogger.d.ts +3 -0
  130. package/lib/logging/getLogger.d.ts.map +1 -0
  131. package/lib/logging/getLogger.js +5 -0
  132. package/lib/logging/getLogger.js.map +1 -0
  133. package/lib/logging/index-node.d.ts +3 -0
  134. package/lib/logging/index-node.d.ts.map +1 -0
  135. package/lib/logging/index-node.js +3 -0
  136. package/lib/logging/index-node.js.map +1 -0
  137. package/lib/logging/index.d.ts +11 -0
  138. package/lib/logging/index.d.ts.map +1 -0
  139. package/lib/logging/index.js +11 -0
  140. package/lib/logging/index.js.map +1 -0
  141. package/lib/logging/util.d.ts +3 -0
  142. package/lib/logging/util.d.ts.map +1 -0
  143. package/lib/logging/util.js +6 -0
  144. package/lib/logging/util.js.map +1 -0
  145. package/package.json +31 -0
  146. package/src/guards/applyTypeGuardExtras.ts +9 -0
  147. package/src/guards/array.ts +5 -0
  148. package/src/guards/assert.ts +83 -0
  149. package/src/guards/class.ts +56 -0
  150. package/src/guards/guard-tools.ts +78 -0
  151. package/src/guards/index.ts +7 -0
  152. package/src/guards/primitive.ts +77 -0
  153. package/src/guards/types.ts +15 -0
  154. package/src/helpers/Deferred.ts +149 -0
  155. package/src/helpers/index.ts +1 -0
  156. package/src/index.ts +3 -0
  157. package/src/logging/Appender.ts +5 -0
  158. package/src/logging/Formatter.ts +8 -0
  159. package/src/logging/InternalLogger.ts +6 -0
  160. package/src/logging/Level.ts +19 -0
  161. package/src/logging/LogRecord.ts +17 -0
  162. package/src/logging/Logger.ts +222 -0
  163. package/src/logging/LoggingManager.ts +306 -0
  164. package/src/logging/appenders/ConsoleAppender.ts +110 -0
  165. package/src/logging/appenders/DebugAppender.ts +254 -0
  166. package/src/logging/appenders/FileAppender.ts +281 -0
  167. package/src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts +176 -0
  168. package/src/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.ts +132 -0
  169. package/src/logging/appenders/index.ts +3 -0
  170. package/src/logging/context/LogContext.ts +74 -0
  171. package/src/logging/context/LogContextContainer.ts +28 -0
  172. package/src/logging/context/LogContextProvider.ts +43 -0
  173. package/src/logging/context/index.ts +3 -0
  174. package/src/logging/context/providers/node/NodeContextProvider.ts +45 -0
  175. package/src/logging/context/providers/node/index.ts +3 -0
  176. package/src/logging/examples/example-debug-appender.ts +19 -0
  177. package/src/logging/examples/example-file-appender.ts +19 -0
  178. package/src/logging/getLogger.ts +9 -0
  179. package/src/logging/index-node.ts +2 -0
  180. package/src/logging/index.ts +11 -0
  181. package/src/logging/util.ts +6 -0
  182. package/tsconfig.json +9 -0
  183. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Formatter.js","sourceRoot":"","sources":["../../src/logging/Formatter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function getInternalLogger(category?: string): Console;
2
+ //# sourceMappingURL=InternalLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalLogger.d.ts","sourceRoot":"","sources":["../../src/logging/InternalLogger.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAwB,WAGnE"}
@@ -0,0 +1,6 @@
1
+ const GLOBAL_CATEGORY = "GLOBAL";
2
+ export function getInternalLogger(category = GLOBAL_CATEGORY) {
3
+ category = category.split("/").pop().replace(/\.[a-z]+$/, "") ?? GLOBAL_CATEGORY;
4
+ return console;
5
+ }
6
+ //# sourceMappingURL=InternalLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalLogger.js","sourceRoot":"","sources":["../../src/logging/InternalLogger.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,QAAQ,CAAA;AAEhC,MAAM,UAAU,iBAAiB,CAAC,WAAmB,eAAe;IAClE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAC,EAAE,CAAC,IAAI,eAAe,CAAA;IAC/E,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare enum Level {
2
+ trace = "trace",
3
+ debug = "debug",
4
+ info = "info",
5
+ warn = "warn",
6
+ error = "error",
7
+ fatal = "fatal"
8
+ }
9
+ export type LevelName = `${Level}`;
10
+ export type LevelKind = LevelName | Level;
11
+ export declare const LevelNames: Array<LevelName>;
12
+ export declare const LevelThresholds: Record<LevelKind, number>;
13
+ export type LevelEnableFnName = `is${Capitalize<LevelName>}Enabled`;
14
+ //# sourceMappingURL=Level.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Level.d.ts","sourceRoot":"","sources":["../../src/logging/Level.ts"],"names":[],"mappings":"AAEA,oBAAY,KAAK;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,GAAG,KAAK,EAAE,CAAA;AAClC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,KAAK,CAAA;AAEzC,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,SAAS,CAA8B,CAAA;AACtE,eAAO,MAAM,eAAe,EAEvB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC9B,MAAM,MAAM,iBAAiB,GAAG,KAAK,UAAU,CAAC,SAAS,CAAC,SAAS,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { fromPairs, uniq } from "lodash";
2
+ export var Level;
3
+ (function (Level) {
4
+ Level["trace"] = "trace";
5
+ Level["debug"] = "debug";
6
+ Level["info"] = "info";
7
+ Level["warn"] = "warn";
8
+ Level["error"] = "error";
9
+ Level["fatal"] = "fatal";
10
+ })(Level || (Level = {}));
11
+ export const LevelNames = uniq(Object.values(Level));
12
+ export const LevelThresholds = fromPairs(LevelNames.map((level, i) => [level, i]));
13
+ //# sourceMappingURL=Level.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Level.js","sourceRoot":"","sources":["../../src/logging/Level.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAExC,MAAM,CAAN,IAAY,KAOX;AAPD,WAAY,KAAK;IACf,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,wBAAe,CAAA;IACf,wBAAe,CAAA;AACjB,CAAC,EAPW,KAAK,KAAL,KAAK,QAOhB;AAKD,MAAM,CAAC,MAAM,UAAU,GAAqB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CACtC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CACZ,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { LevelKind } from "./Level";
2
+ export interface LogRecord<Data = any> {
3
+ timestamp: number;
4
+ category: string;
5
+ level: LevelKind;
6
+ message: string;
7
+ args?: any[];
8
+ data?: Data;
9
+ tags?: string[];
10
+ url?: string;
11
+ env?: string;
12
+ event?: string;
13
+ errorMessage?: string;
14
+ errorStack?: string;
15
+ }
16
+ //# sourceMappingURL=LogRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogRecord.d.ts","sourceRoot":"","sources":["../../src/logging/LogRecord.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAS,SAAS,EAAa,MAAM,SAAS,CAAA;AAE1D,MAAM,WAAW,SAAS,CAAC,IAAI,GAAG,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LogRecord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogRecord.js","sourceRoot":"","sources":["../../src/logging/LogRecord.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import { LevelKind } from "./Level.js";
2
+ import type { LoggingManager } from "./LoggingManager.js";
3
+ import type { LogRecord } from "./LogRecord.js";
4
+ export interface LoggerOptions {
5
+ categoryInterpolator: CategoryInterpolator;
6
+ }
7
+ export type CategoryInterpolator = (inCategory: string, options?: LoggerOptions) => string;
8
+ export declare const filenameCategoryInterpolator: CategoryInterpolator;
9
+ export declare const defaultLoggerOptions: LoggerOptions;
10
+ export declare function toLogRecord(logger: Logger, levelOrRecord: LevelKind | LogRecord, args: any[]): {
11
+ timestamp: number;
12
+ category: string;
13
+ level: LevelKind;
14
+ message: string;
15
+ args?: any[];
16
+ data?: any;
17
+ tags?: string[];
18
+ url?: string;
19
+ env?: string;
20
+ event?: string;
21
+ errorMessage?: string;
22
+ errorStack?: string;
23
+ };
24
+ export interface LoggerState {
25
+ overrideLevel?: LevelKind;
26
+ }
27
+ export declare class Logger {
28
+ readonly manager: LoggingManager;
29
+ readonly category: string;
30
+ readonly options: LoggerOptions;
31
+ readonly state: LoggerState;
32
+ get overrideLevel(): LevelKind;
33
+ get overrideThreshold(): number;
34
+ setOverrideLevel(inOverrideLevel: LevelKind): this;
35
+ /**
36
+ * Base logging function
37
+ *
38
+ * @param record
39
+ */
40
+ log(record: LogRecord): void;
41
+ log(level: LevelKind, message: string, ...args: any[]): void;
42
+ /**
43
+ * Factory for the log
44
+ * level functions
45
+ *
46
+ * @param {LevelKind} level
47
+ * @returns {(message: string, ...args: any[]) => void}
48
+ * @private
49
+ */
50
+ private createLevelLogger;
51
+ /**
52
+ * Factory for is<Level>Enabled
53
+ *
54
+ * @param {LevelKind} level
55
+ * @returns {() => boolean}
56
+ * @private
57
+ */
58
+ private createLevelEnabled;
59
+ readonly trace: (message: string, ...args: any[]) => void;
60
+ readonly debug: (message: string, ...args: any[]) => void;
61
+ readonly info: (message: string, ...args: any[]) => void;
62
+ readonly warn: (message: string, ...args: any[]) => void;
63
+ readonly error: (message: string, ...args: any[]) => void;
64
+ readonly fatal: (message: string, ...args: any[]) => void;
65
+ readonly isTraceEnabled: () => boolean;
66
+ readonly isDebugEnabled: () => boolean;
67
+ readonly isInfoEnabled: () => boolean;
68
+ readonly isWarnEnabled: () => boolean;
69
+ readonly isErrorEnabled: () => boolean;
70
+ readonly isFatalEnabled: () => boolean;
71
+ assert(test: boolean | (() => boolean), message: string, ...args: any[]): void;
72
+ assertFatal(test: boolean | (() => boolean), message: string, exitCode?: number): void;
73
+ constructor(manager: LoggingManager, category: string, options: LoggerOptions);
74
+ static hydrateOptions(options?: Partial<LoggerOptions>): LoggerOptions;
75
+ static interoplateCategory(category: string, options: LoggerOptions): string;
76
+ }
77
+ //# sourceMappingURL=Logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ import { assert, getValue, isString, isDefined, isFunction, isNumber } from "../guards/index.js";
2
+ import { Option } from "prelude-ts";
3
+ import { pick } from "lodash";
4
+ import { LevelThresholds } from "./Level.js";
5
+ import { isLogLevelKind } from "./util.js";
6
+ export const filenameCategoryInterpolator = (filename) => {
7
+ const allParts = filename.replaceAll("\\", "/").split("/");
8
+ const rootIndex = Math.max(...["src", "lib"].map((name) => allParts.indexOf(name)));
9
+ const parts = rootIndex === -1 ? [allParts.pop()] : allParts.slice(rootIndex + 1);
10
+ const category = Option.of(parts.join(":"))
11
+ .flatMap((cat) => Option.of(cat.lastIndexOf(".")).map((index) => index === -1 ? cat : cat.slice(0, index)))
12
+ .getOrElse("unknown");
13
+ return category;
14
+ };
15
+ export const defaultLoggerOptions = {
16
+ categoryInterpolator: filenameCategoryInterpolator
17
+ };
18
+ export function toLogRecord(logger, levelOrRecord, args) {
19
+ const errRecord = Option.ofNullable(args.find((arg) => (isString(arg?.message) && !!arg.stack) || arg instanceof Error)).match({
20
+ Some: (err) => ({
21
+ errorMessage: getValue(() => err.message),
22
+ errorStack: getValue(() => err.stack)
23
+ }),
24
+ None: () => ({})
25
+ });
26
+ const recordBase = isString(levelOrRecord)
27
+ ? {
28
+ ...pick(logger, ["category"]),
29
+ timestamp: Date.now(),
30
+ message: args[0],
31
+ level: levelOrRecord,
32
+ args: args.slice(1)
33
+ }
34
+ : levelOrRecord;
35
+ return {
36
+ ...recordBase,
37
+ ...errRecord,
38
+ timestamp: isNumber(recordBase.timestamp) && recordBase.timestamp > 0 ? recordBase.timestamp : Date.now(),
39
+ };
40
+ }
41
+ export class Logger {
42
+ manager;
43
+ category;
44
+ options;
45
+ state = {
46
+ overrideLevel: null
47
+ };
48
+ get overrideLevel() {
49
+ return Option.ofNullable(this.state.overrideLevel)
50
+ .filter(isLogLevelKind) //Predicate.of<LevelKind>(isString).and(isLogLevelKind))
51
+ .getOrNull();
52
+ }
53
+ get overrideThreshold() {
54
+ return Option.ofNullable(this.overrideLevel)
55
+ .map((level) => LevelThresholds[level])
56
+ .getOrNull();
57
+ }
58
+ setOverrideLevel(inOverrideLevel) {
59
+ const overrideLevel = (!inOverrideLevel ? null : inOverrideLevel.toLocaleLowerCase());
60
+ assert(!isDefined(overrideLevel) || isLogLevelKind(overrideLevel), `Invalid override level, must be a log level, all lower case`);
61
+ Object.assign(this.state, {
62
+ overrideLevel
63
+ });
64
+ return this;
65
+ }
66
+ log(levelOrRecord, ...args) {
67
+ const record = toLogRecord(this, levelOrRecord, args);
68
+ this.manager.fire(record);
69
+ }
70
+ /**
71
+ * Factory for the log
72
+ * level functions
73
+ *
74
+ * @param {LevelKind} level
75
+ * @returns {(message: string, ...args: any[]) => void}
76
+ * @private
77
+ */
78
+ createLevelLogger(level) {
79
+ const isEnabled = this.createLevelEnabled(level);
80
+ return (message, ...args) => {
81
+ if (isEnabled()) {
82
+ this.log(level, message, ...args);
83
+ }
84
+ };
85
+ }
86
+ /**
87
+ * Factory for is<Level>Enabled
88
+ *
89
+ * @param {LevelKind} level
90
+ * @returns {() => boolean}
91
+ * @private
92
+ */
93
+ createLevelEnabled(level) {
94
+ return () => {
95
+ const { rootThreshold } = this.manager;
96
+ const globalOverrideThreshold = this.manager.determineThresholdOverride(this.category);
97
+ const categoryThresholds = [
98
+ globalOverrideThreshold,
99
+ rootThreshold,
100
+ this.overrideThreshold
101
+ ].filter(isNumber);
102
+ const categoryThreshold = Math.min(...categoryThresholds);
103
+ const recordThreshold = LevelThresholds[level];
104
+ return recordThreshold >= categoryThreshold;
105
+ };
106
+ }
107
+ trace = this.createLevelLogger("trace");
108
+ debug = this.createLevelLogger("debug");
109
+ info = this.createLevelLogger("info");
110
+ warn = this.createLevelLogger("warn");
111
+ error = this.createLevelLogger("error");
112
+ fatal = this.createLevelLogger("fatal");
113
+ isTraceEnabled = this.createLevelEnabled("trace");
114
+ isDebugEnabled = this.createLevelEnabled("debug");
115
+ isInfoEnabled = this.createLevelEnabled("info");
116
+ isWarnEnabled = this.createLevelEnabled("warn");
117
+ isErrorEnabled = this.createLevelEnabled("error");
118
+ isFatalEnabled = this.createLevelEnabled("fatal");
119
+ assert(test, message, ...args) {
120
+ const isTruthy = isFunction(test) ? test() : test;
121
+ if (isTruthy) {
122
+ return;
123
+ }
124
+ this.error(message, ...args);
125
+ }
126
+ assertFatal(test, message, exitCode = 1) {
127
+ const isTruthy = isFunction(test) ? test() : test;
128
+ if (isTruthy) {
129
+ return;
130
+ }
131
+ this.fatal("FATAL ASSERTION: ", message);
132
+ if (typeof process !== "undefined") {
133
+ process.exit(exitCode);
134
+ }
135
+ else {
136
+ console.error("FATAL ASSERTION: `process` is not defined, probably in a web browser");
137
+ }
138
+ }
139
+ constructor(manager, category, options) {
140
+ this.manager = manager;
141
+ this.category = category;
142
+ this.options = options;
143
+ }
144
+ static hydrateOptions(options = {}) {
145
+ return {
146
+ ...defaultLoggerOptions,
147
+ ...options
148
+ };
149
+ }
150
+ static interoplateCategory(category, options) {
151
+ options = {
152
+ ...defaultLoggerOptions,
153
+ ...options
154
+ };
155
+ return options.categoryInterpolator(category, options);
156
+ }
157
+ }
158
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAa,eAAe,EAAE,MAAM,YAAY,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAW1C,MAAM,CAAC,MAAM,4BAA4B,GAAyB,CAChE,QAAgB,EAChB,EAAE;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACxD,CAAA;IACD,MAAM,KAAK,GACT,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5C,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CACzC,CACF;SACA,SAAS,CAAC,SAAS,CAAC,CAAA;IACvB,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,oBAAoB,EAAE,4BAA4B;CACnD,CAAA;AAED,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,aAAoC,EACpC,IAAW;IAEX,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,KAAK,CAAC,CACpF,CAAC,KAAK,CAAC;QACN,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACd,YAAY,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;YACzC,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;SACtC,CAAC;QACF,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;KACjB,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC;QACxC,CAAC,CAAE;YACC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;YAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAChB,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACN;QACjB,CAAC,CAAC,aAAa,CAAA;IACjB,OAAO;QACL,GAAG,UAAU;QACb,GAAG,SAAS;QACZ,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;KAC1G,CAAA;AACH,CAAC;AAMD,MAAM,OAAO,MAAM;IA+HN;IACA;IACA;IAhIF,KAAK,GAAgB;QAC5B,aAAa,EAAE,IAAI;KACpB,CAAA;IAED,IAAI,aAAa;QACf,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;aAC/C,MAAM,CAAC,cAAc,CAAC,CAAC,wDAAwD;aAC/E,SAAS,EAAE,CAAA;IAChB,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;aACzC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aACtC,SAAS,EAAE,CAAA;IAChB,CAAC;IAED,gBAAgB,CAAC,eAA0B;QACzC,MAAM,aAAa,GAAG,CACpB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,iBAAiB,EAAE,CACjD,CAAA;QAEd,MAAM,CACJ,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,EAC1D,6DAA6D,CAC9D,CAAA;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACxB,aAAa;SACd,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IASD,GAAG,CAAC,aAAoC,EAAE,GAAG,IAAW;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED;;;;;;;OAOG;IACK,iBAAiB,CAAC,KAAgB;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAChD,OAAO,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE;YACzC,IAAI,SAAS,EAAE,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CAAC,KAAgB;QACzC,OAAO,GAAG,EAAE;YACV,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;YAEtC,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtF,MAAM,kBAAkB,GAAG;gBACzB,uBAAuB;gBACvB,aAAa;gBACb,IAAI,CAAC,iBAAiB;aACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAElB,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAA;YAEzD,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;YAE9C,OAAO,eAAe,IAAI,iBAAiB,CAAA;QAC7C,CAAC,CAAA;IACH,CAAC;IAEQ,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACvC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACrC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACvC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAEvC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACjD,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACjD,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC/C,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC/C,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACjD,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE1D,MAAM,CAAC,IAA+B,EAAE,OAAe,EAAE,GAAG,IAAW;QACrE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IAEC,WAAW,CAAC,IAA+B,EAAE,OAAe,EAAE,WAAmB,CAAC;QAChF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;QACxC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IAED,YACW,OAAuB,EACvB,QAAgB,EAChB,OAAsB;QAFtB,YAAO,GAAP,OAAO,CAAgB;QACvB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAe;IAC9B,CAAC;IAEJ,MAAM,CAAC,cAAc,CAAC,UAAkC,EAAE;QACxD,OAAO;YACL,GAAG,oBAAoB;YACvB,GAAG,OAAO;SACX,CAAA;IACH,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,QAAgB,EAAE,OAAsB;QACjE,OAAO,GAAG;YACR,GAAG,oBAAoB;YACvB,GAAG,OAAO;SACX,CAAA;QACD,OAAO,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;CACF"}
@@ -0,0 +1,128 @@
1
+ import type { Appender } from "./Appender.js";
2
+ import { LevelKind } from "./Level.js";
3
+ import { Logger, LoggerOptions } from "./Logger.js";
4
+ import type { LogRecord } from "./LogRecord.js";
5
+ import { LogContext } from "./context/index.js";
6
+ export type CategoryMatch = RegExp | string;
7
+ export type ThresholdOverride = [match: CategoryMatch, level: LevelKind];
8
+ export interface LoggingManagerState<Record extends LogRecord> {
9
+ rootLevel: LevelKind;
10
+ appenders: Array<Appender<Record>>;
11
+ thresholdOverrides: Array<ThresholdOverride>;
12
+ }
13
+ export type LoggingManagerOptions<Record extends LogRecord> = Partial<LoggingManagerState<Record>>;
14
+ export declare const kEnvThresholdOverrides: ThresholdOverride[];
15
+ /**
16
+ * Logging manager
17
+ */
18
+ export declare class LoggingManager<Record extends LogRecord = any> {
19
+ private readonly loggers;
20
+ private readonly state;
21
+ get rootLevel(): LevelKind;
22
+ set rootLevel(newRootLevel: LevelKind);
23
+ get rootThreshold(): number;
24
+ /**
25
+ * Get the current handler
26
+ *
27
+ * @returns {Appender<Record>}
28
+ */
29
+ get appenders(): Array<Appender<Record>>;
30
+ /**
31
+ * Global threshold overrides
32
+ */
33
+ get thresholdOverrides(): ThresholdOverride[];
34
+ /**
35
+ * Update the overrides
36
+ *
37
+ * @param newOverrides
38
+ */
39
+ set thresholdOverrides(newOverrides: ThresholdOverride[]);
40
+ /**
41
+ * Set global appenders
42
+ *
43
+ * @param {Array<Appender<Record>>} newAppenders
44
+ */
45
+ setAppenders(...newAppenders: Array<Appender<Record> | Appender<Record>[]>): this;
46
+ /**
47
+ * Add one or more appenders to existing appender set
48
+ *
49
+ * @param {Appender<Record> | Appender<Record>[]} newAppenders
50
+ * @returns {this<Record>}
51
+ */
52
+ addAppenders(...newAppenders: Array<Appender<Record> | Appender<Record>[]>): this;
53
+ /**
54
+ * Clear threshold overrides
55
+ *
56
+ * @returns {this<Record>}
57
+ */
58
+ clearThresholdOverrides(): this;
59
+ setThresholdOverrides(...overrides: Array<ThresholdOverride>): this;
60
+ addThresholdOverrides(...overrides: Array<ThresholdOverride>): this;
61
+ /**
62
+ * Get applicable current contexts
63
+ *
64
+ * @param {string} category
65
+ * @returns {LogContext[]}
66
+ */
67
+ getApplicableCurrentContexts(category: string): LogContext[];
68
+ /**
69
+ * Check for any matching threshold overrides
70
+ *
71
+ * @param category
72
+ */
73
+ determineThresholdOverride(category: string): number;
74
+ /**
75
+ * Set the root logging level
76
+ *
77
+ * @param {LevelKind} newLevel
78
+ * @returns {this<Record>}
79
+ */
80
+ setRootLevel(newLevel: LevelKind): this;
81
+ /**
82
+ * Fire a log event, eventually
83
+ * invert this by making `Logger` an
84
+ * `EventEmitter3` and having the `LoggingManager`
85
+ * subscribe to `record` event
86
+ *
87
+ * @param {LogRecord<Record>} record
88
+ * @internal
89
+ */
90
+ fire(record: LogRecord<Record>): void;
91
+ /**
92
+ * Get a logger from cache, if the category
93
+ * does not have an existing logger, then create one.
94
+ *
95
+ * @param {string} categoryOrFilename
96
+ * @param {Partial<LoggerOptions>} inOptions
97
+ * @returns {Logger}
98
+ */
99
+ getLogger(categoryOrFilename: string, inOptions?: Partial<LoggerOptions>): Logger;
100
+ /**
101
+ * Configure the logging manager,
102
+ * this function is additive, so simply calling
103
+ * `configure` with a single option `rootLevel`,
104
+ * will not affect other options like `appenders` *
105
+ *
106
+ * @param {LoggingManagerOptions<any>} options
107
+ * @returns {this<Record>}
108
+ */
109
+ configure(options: LoggingManagerOptions<any>): this;
110
+ private constructor();
111
+ /**
112
+ * Singleton instance
113
+ *
114
+ * @type {LoggingManager}
115
+ * @private
116
+ */
117
+ private static manager;
118
+ /**
119
+ * Get logging manager and optionally provided
120
+ * configuration options
121
+ *
122
+ * @param {LoggingManagerOptions<Record>} options
123
+ * @returns {LoggingManager<Record>}
124
+ */
125
+ static get<Record extends LogRecord = any>(options?: LoggingManagerOptions<Record>): LoggingManager<Record>;
126
+ }
127
+ export declare function getLoggingManager(): LoggingManager;
128
+ //# sourceMappingURL=LoggingManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggingManager.d.ts","sourceRoot":"","sources":["../../src/logging/LoggingManager.ts"],"names":[],"mappings":"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"}