@sphereon/ssi-types 0.24.0 → 0.24.1-unstable.7
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/logging/index.d.ts +74 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +159 -0
- package/dist/logging/index.js.map +1 -0
- package/package.json +3 -2
- package/src/index.ts +1 -0
- package/src/logging/index.ts +198 -0
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./types"), exports);
|
|
18
18
|
__exportStar(require("./utils"), exports);
|
|
19
|
+
__exportStar(require("./logging"), exports);
|
|
19
20
|
__exportStar(require("./mapper"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,2CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,4CAAyB;AACzB,2CAAwB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
export declare enum LogLevel {
|
|
4
|
+
TRACE = 0,
|
|
5
|
+
DEBUG = 1,
|
|
6
|
+
INFO = 2,
|
|
7
|
+
WARNING = 3,
|
|
8
|
+
ERROR = 4
|
|
9
|
+
}
|
|
10
|
+
export declare enum LoggingEventType {
|
|
11
|
+
AUDIT = "audit",
|
|
12
|
+
GENERAL = "general"
|
|
13
|
+
}
|
|
14
|
+
export interface SimpleLogEvent {
|
|
15
|
+
type: LoggingEventType.GENERAL;
|
|
16
|
+
level: LogLevel;
|
|
17
|
+
correlationId?: string;
|
|
18
|
+
timestamp: Date;
|
|
19
|
+
data: string;
|
|
20
|
+
diagnosticData?: any;
|
|
21
|
+
}
|
|
22
|
+
export declare enum LogMethod {
|
|
23
|
+
DEBUG_PKG = 0,
|
|
24
|
+
CONSOLE = 1,
|
|
25
|
+
EVENT = 2
|
|
26
|
+
}
|
|
27
|
+
export interface SimpleLogOptions {
|
|
28
|
+
namespace?: string;
|
|
29
|
+
eventName?: string;
|
|
30
|
+
defaultLogLevel?: LogLevel;
|
|
31
|
+
methods?: LogMethod[];
|
|
32
|
+
}
|
|
33
|
+
export declare function logOptions(opts?: SimpleLogOptions): Required<SimpleLogOptions>;
|
|
34
|
+
export declare class Loggers {
|
|
35
|
+
private static readonly DEFAULT_INSTANCE;
|
|
36
|
+
private static readonly DEFAULT_KEY;
|
|
37
|
+
namespaceOptions: Map<string, Required<SimpleLogOptions>>;
|
|
38
|
+
loggers: WeakMap<Required<SimpleLogOptions>, ISimpleLogger<any>>;
|
|
39
|
+
constructor(defaultOptions?: Omit<SimpleLogOptions, 'namespace'>);
|
|
40
|
+
options(namespace: string, options: Omit<SimpleLogOptions, 'namespace'>): this;
|
|
41
|
+
defaultOptions(options: Omit<SimpleLogOptions, 'namespace'>): this;
|
|
42
|
+
register<T>(namespace: string, logger: ISimpleLogger<T>): ISimpleLogger<T>;
|
|
43
|
+
get<T>(namespace: string, registerLogger?: ISimpleLogger<T>): ISimpleLogger<T>;
|
|
44
|
+
static default(): Loggers;
|
|
45
|
+
}
|
|
46
|
+
export type ISimpleLogger<LogType> = {
|
|
47
|
+
options: Required<SimpleLogOptions>;
|
|
48
|
+
log(value: LogType, ...args: any[]): void;
|
|
49
|
+
info(value: LogType, ...args: any[]): void;
|
|
50
|
+
debug(value: LogType, ...args: any[]): void;
|
|
51
|
+
trace(value: LogType, ...args: any[]): void;
|
|
52
|
+
warning(value: LogType, ...args: any[]): void;
|
|
53
|
+
error(value: LogType, ...args: any[]): void;
|
|
54
|
+
logl(level: LogLevel, value: LogType, ...args: any[]): void;
|
|
55
|
+
};
|
|
56
|
+
export declare class SimpleLogger implements ISimpleLogger<any> {
|
|
57
|
+
private _eventEmitter;
|
|
58
|
+
private _options;
|
|
59
|
+
constructor(opts?: SimpleLogOptions);
|
|
60
|
+
get eventEmitter(): EventEmitter;
|
|
61
|
+
get options(): Required<SimpleLogOptions>;
|
|
62
|
+
trace(value: any, ...args: any[]): void;
|
|
63
|
+
debug(value: any, ...args: any[]): void;
|
|
64
|
+
info(value: any, ...args: any[]): void;
|
|
65
|
+
warning(value: any, ...args: any[]): void;
|
|
66
|
+
error(value: any, ...args: any[]): void;
|
|
67
|
+
logl(level: LogLevel, value: any, ...args: any[]): void;
|
|
68
|
+
log(value: any, args?: any[]): void;
|
|
69
|
+
}
|
|
70
|
+
export declare class SimpleRecordLogger extends SimpleLogger implements ISimpleLogger<Record<string, any>> {
|
|
71
|
+
constructor(opts?: SimpleLogOptions);
|
|
72
|
+
}
|
|
73
|
+
export declare function log(namespace: string, level: LogLevel, value?: string, args?: any[]): void;
|
|
74
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.log = exports.SimpleRecordLogger = exports.SimpleLogger = exports.Loggers = exports.logOptions = exports.LogMethod = exports.LoggingEventType = exports.LogLevel = void 0;
|
|
7
|
+
const debug_1 = __importDefault(require("debug"));
|
|
8
|
+
const events_1 = require("events");
|
|
9
|
+
var LogLevel;
|
|
10
|
+
(function (LogLevel) {
|
|
11
|
+
LogLevel[LogLevel["TRACE"] = 0] = "TRACE";
|
|
12
|
+
LogLevel[LogLevel["DEBUG"] = 1] = "DEBUG";
|
|
13
|
+
LogLevel[LogLevel["INFO"] = 2] = "INFO";
|
|
14
|
+
LogLevel[LogLevel["WARNING"] = 3] = "WARNING";
|
|
15
|
+
LogLevel[LogLevel["ERROR"] = 4] = "ERROR";
|
|
16
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
17
|
+
var LoggingEventType;
|
|
18
|
+
(function (LoggingEventType) {
|
|
19
|
+
LoggingEventType["AUDIT"] = "audit";
|
|
20
|
+
LoggingEventType["GENERAL"] = "general";
|
|
21
|
+
})(LoggingEventType || (exports.LoggingEventType = LoggingEventType = {}));
|
|
22
|
+
var LogMethod;
|
|
23
|
+
(function (LogMethod) {
|
|
24
|
+
LogMethod[LogMethod["DEBUG_PKG"] = 0] = "DEBUG_PKG";
|
|
25
|
+
LogMethod[LogMethod["CONSOLE"] = 1] = "CONSOLE";
|
|
26
|
+
LogMethod[LogMethod["EVENT"] = 2] = "EVENT";
|
|
27
|
+
})(LogMethod || (exports.LogMethod = LogMethod = {}));
|
|
28
|
+
function logOptions(opts) {
|
|
29
|
+
var _a, _b, _c, _d;
|
|
30
|
+
return {
|
|
31
|
+
namespace: (_a = opts === null || opts === void 0 ? void 0 : opts.namespace) !== null && _a !== void 0 ? _a : 'sphereon',
|
|
32
|
+
eventName: (_b = opts === null || opts === void 0 ? void 0 : opts.eventName) !== null && _b !== void 0 ? _b : 'sphereon:default',
|
|
33
|
+
defaultLogLevel: (_c = opts === null || opts === void 0 ? void 0 : opts.defaultLogLevel) !== null && _c !== void 0 ? _c : LogLevel.INFO,
|
|
34
|
+
methods: (_d = opts === null || opts === void 0 ? void 0 : opts.methods) !== null && _d !== void 0 ? _d : [LogMethod.DEBUG_PKG, LogMethod.EVENT],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
exports.logOptions = logOptions;
|
|
38
|
+
class Loggers {
|
|
39
|
+
constructor(defaultOptions) {
|
|
40
|
+
this.namespaceOptions = new Map();
|
|
41
|
+
this.loggers = new WeakMap();
|
|
42
|
+
this.defaultOptions(logOptions(defaultOptions));
|
|
43
|
+
}
|
|
44
|
+
options(namespace, options) {
|
|
45
|
+
this.namespaceOptions.set(namespace, logOptions(Object.assign(Object.assign({}, options), { namespace })));
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
defaultOptions(options) {
|
|
49
|
+
this.options(Loggers.DEFAULT_KEY, options);
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
register(namespace, logger) {
|
|
53
|
+
return this.get(namespace, logger);
|
|
54
|
+
}
|
|
55
|
+
get(namespace, registerLogger) {
|
|
56
|
+
var _a, _b;
|
|
57
|
+
const options = (_b = (_a = this.namespaceOptions.get(namespace)) !== null && _a !== void 0 ? _a : registerLogger === null || registerLogger === void 0 ? void 0 : registerLogger.options) !== null && _b !== void 0 ? _b : this.namespaceOptions.get(Loggers.DEFAULT_KEY);
|
|
58
|
+
if (!options) {
|
|
59
|
+
throw Error(`No logging options found for namespace ${namespace}`);
|
|
60
|
+
}
|
|
61
|
+
this.namespaceOptions.set(namespace, options);
|
|
62
|
+
let logger = this.loggers.get(options);
|
|
63
|
+
if (!logger) {
|
|
64
|
+
logger = registerLogger !== null && registerLogger !== void 0 ? registerLogger : new SimpleLogger(options);
|
|
65
|
+
this.loggers.set(options, logger);
|
|
66
|
+
}
|
|
67
|
+
return logger;
|
|
68
|
+
}
|
|
69
|
+
static default() {
|
|
70
|
+
return Loggers.DEFAULT_INSTANCE;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.Loggers = Loggers;
|
|
74
|
+
Loggers.DEFAULT_INSTANCE = new Loggers();
|
|
75
|
+
Loggers.DEFAULT_KEY = '__DEFAULT__';
|
|
76
|
+
class SimpleLogger {
|
|
77
|
+
constructor(opts) {
|
|
78
|
+
this._eventEmitter = new events_1.EventEmitter({ captureRejections: true });
|
|
79
|
+
this._options = logOptions(opts);
|
|
80
|
+
}
|
|
81
|
+
get eventEmitter() {
|
|
82
|
+
return this._eventEmitter;
|
|
83
|
+
}
|
|
84
|
+
get options() {
|
|
85
|
+
return this._options;
|
|
86
|
+
}
|
|
87
|
+
trace(value, ...args) {
|
|
88
|
+
this.logl(LogLevel.TRACE, value, args);
|
|
89
|
+
}
|
|
90
|
+
debug(value, ...args) {
|
|
91
|
+
this.logl(LogLevel.DEBUG, value, args);
|
|
92
|
+
}
|
|
93
|
+
info(value, ...args) {
|
|
94
|
+
this.logl(LogLevel.INFO, value, args);
|
|
95
|
+
}
|
|
96
|
+
warning(value, ...args) {
|
|
97
|
+
this.logl(LogLevel.WARNING, value, args);
|
|
98
|
+
}
|
|
99
|
+
error(value, ...args) {
|
|
100
|
+
this.logl(LogLevel.ERROR, value, args);
|
|
101
|
+
}
|
|
102
|
+
logl(level, value, ...args) {
|
|
103
|
+
const date = new Date().toISOString();
|
|
104
|
+
function toLogValue(options) {
|
|
105
|
+
if (typeof value === 'string') {
|
|
106
|
+
return `${date}-(${options.namespace}) ${value}`;
|
|
107
|
+
}
|
|
108
|
+
else if (typeof value === 'object') {
|
|
109
|
+
value['namespace'] = options.namespace;
|
|
110
|
+
value['time'] = date;
|
|
111
|
+
}
|
|
112
|
+
return value;
|
|
113
|
+
}
|
|
114
|
+
const logValue = toLogValue(this.options);
|
|
115
|
+
if (this.options.methods.includes(LogMethod.DEBUG_PKG)) {
|
|
116
|
+
debug_1.default.default(this._options.namespace).log(`${date}- ${value}`, args);
|
|
117
|
+
}
|
|
118
|
+
if (this.options.methods.includes(LogMethod.CONSOLE)) {
|
|
119
|
+
switch (level) {
|
|
120
|
+
case LogLevel.TRACE:
|
|
121
|
+
return console.trace(logValue, args);
|
|
122
|
+
case LogLevel.DEBUG:
|
|
123
|
+
return console.debug(logValue, args);
|
|
124
|
+
case LogLevel.INFO:
|
|
125
|
+
return console.info(logValue, args);
|
|
126
|
+
case LogLevel.WARNING:
|
|
127
|
+
return console.warn(logValue, args);
|
|
128
|
+
case LogLevel.ERROR:
|
|
129
|
+
return console.error(logValue, args);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (this.options.methods.includes(LogMethod.EVENT)) {
|
|
133
|
+
this._eventEmitter.emit(this.options.eventName, {
|
|
134
|
+
data: value.toString(),
|
|
135
|
+
timestamp: new Date(date),
|
|
136
|
+
level,
|
|
137
|
+
type: LoggingEventType.GENERAL,
|
|
138
|
+
diagnosticData: args,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
log(value, args) {
|
|
143
|
+
this.logl(this.options.defaultLogLevel, value, args);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.SimpleLogger = SimpleLogger;
|
|
147
|
+
class SimpleRecordLogger extends SimpleLogger {
|
|
148
|
+
constructor(opts) {
|
|
149
|
+
super(opts);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.SimpleRecordLogger = SimpleRecordLogger;
|
|
153
|
+
function log(namespace, level, value, args) {
|
|
154
|
+
const logValue = value !== null && value !== void 0 ? value : namespace;
|
|
155
|
+
const ns = value != undefined ? namespace : 'sphereon:default';
|
|
156
|
+
debug_1.default.default(ns).log(logValue, args);
|
|
157
|
+
}
|
|
158
|
+
exports.log = log;
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-types",
|
|
3
3
|
"description": "SSI Common Types",
|
|
4
|
-
"version": "0.24.
|
|
4
|
+
"version": "0.24.1-unstable.7+1a34e421",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@sd-jwt/decode": "^0.6.1",
|
|
13
|
+
"events": "^3.3.0",
|
|
13
14
|
"jwt-decode": "^3.1.2"
|
|
14
15
|
},
|
|
15
16
|
"devDependencies": {
|
|
@@ -42,5 +43,5 @@
|
|
|
42
43
|
"Verifiable Credentials",
|
|
43
44
|
"DIDs"
|
|
44
45
|
],
|
|
45
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "1a34e4210d6d2f898e064b5be2b18fc50e32d3f8"
|
|
46
47
|
}
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import debug from 'debug'
|
|
2
|
+
import { EventEmitter } from 'events'
|
|
3
|
+
|
|
4
|
+
export enum LogLevel {
|
|
5
|
+
TRACE = 0,
|
|
6
|
+
DEBUG,
|
|
7
|
+
INFO,
|
|
8
|
+
WARNING,
|
|
9
|
+
ERROR,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export enum LoggingEventType {
|
|
13
|
+
AUDIT = 'audit',
|
|
14
|
+
GENERAL = 'general',
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface SimpleLogEvent {
|
|
18
|
+
type: LoggingEventType.GENERAL
|
|
19
|
+
level: LogLevel
|
|
20
|
+
correlationId?: string
|
|
21
|
+
timestamp: Date
|
|
22
|
+
data: string
|
|
23
|
+
diagnosticData?: any
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export enum LogMethod {
|
|
27
|
+
DEBUG_PKG,
|
|
28
|
+
CONSOLE,
|
|
29
|
+
EVENT,
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface SimpleLogOptions {
|
|
33
|
+
namespace?: string
|
|
34
|
+
eventName?: string
|
|
35
|
+
defaultLogLevel?: LogLevel
|
|
36
|
+
methods?: LogMethod[]
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function logOptions(opts?: SimpleLogOptions): Required<SimpleLogOptions> {
|
|
40
|
+
return {
|
|
41
|
+
namespace: opts?.namespace ?? 'sphereon',
|
|
42
|
+
eventName: opts?.eventName ?? 'sphereon:default',
|
|
43
|
+
defaultLogLevel: opts?.defaultLogLevel ?? LogLevel.INFO,
|
|
44
|
+
methods: opts?.methods ?? [LogMethod.DEBUG_PKG, LogMethod.EVENT],
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export class Loggers {
|
|
49
|
+
private static readonly DEFAULT_INSTANCE: Loggers = new Loggers()
|
|
50
|
+
private static readonly DEFAULT_KEY = '__DEFAULT__'
|
|
51
|
+
namespaceOptions: Map<string, Required<SimpleLogOptions>> = new Map()
|
|
52
|
+
loggers: WeakMap<Required<SimpleLogOptions>, ISimpleLogger<any>> = new WeakMap()
|
|
53
|
+
|
|
54
|
+
constructor(defaultOptions?: Omit<SimpleLogOptions, 'namespace'>) {
|
|
55
|
+
this.defaultOptions(logOptions(defaultOptions))
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public options(namespace: string, options: Omit<SimpleLogOptions, 'namespace'>): this {
|
|
59
|
+
this.namespaceOptions.set(namespace, logOptions({ ...options, namespace }))
|
|
60
|
+
return this
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public defaultOptions(options: Omit<SimpleLogOptions, 'namespace'>): this {
|
|
64
|
+
this.options(Loggers.DEFAULT_KEY, options)
|
|
65
|
+
return this
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
register<T>(namespace: string, logger: ISimpleLogger<T>): ISimpleLogger<T> {
|
|
69
|
+
return this.get(namespace, logger)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
get<T>(namespace: string, registerLogger?: ISimpleLogger<T>): ISimpleLogger<T> {
|
|
73
|
+
const options = this.namespaceOptions.get(namespace) ?? registerLogger?.options ?? this.namespaceOptions.get(Loggers.DEFAULT_KEY)
|
|
74
|
+
if (!options) {
|
|
75
|
+
throw Error(`No logging options found for namespace ${namespace}`)
|
|
76
|
+
}
|
|
77
|
+
this.namespaceOptions.set(namespace, options)
|
|
78
|
+
|
|
79
|
+
let logger = this.loggers.get(options)
|
|
80
|
+
if (!logger) {
|
|
81
|
+
logger = registerLogger ?? new SimpleLogger(options)
|
|
82
|
+
this.loggers.set(options, logger)
|
|
83
|
+
}
|
|
84
|
+
return logger
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public static default() {
|
|
88
|
+
return Loggers.DEFAULT_INSTANCE
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export type ISimpleLogger<LogType> = {
|
|
93
|
+
options: Required<SimpleLogOptions>
|
|
94
|
+
log(value: LogType, ...args: any[]): void
|
|
95
|
+
info(value: LogType, ...args: any[]): void
|
|
96
|
+
debug(value: LogType, ...args: any[]): void
|
|
97
|
+
trace(value: LogType, ...args: any[]): void
|
|
98
|
+
warning(value: LogType, ...args: any[]): void
|
|
99
|
+
error(value: LogType, ...args: any[]): void
|
|
100
|
+
logl(level: LogLevel, value: LogType, ...args: any[]): void
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export class SimpleLogger implements ISimpleLogger<any> {
|
|
104
|
+
private _eventEmitter = new EventEmitter({ captureRejections: true })
|
|
105
|
+
private _options: Required<SimpleLogOptions>
|
|
106
|
+
|
|
107
|
+
constructor(opts?: SimpleLogOptions) {
|
|
108
|
+
this._options = logOptions(opts)
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
get eventEmitter(): EventEmitter {
|
|
112
|
+
return this._eventEmitter
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
get options(): Required<SimpleLogOptions> {
|
|
116
|
+
return this._options
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
trace(value: any, ...args: any[]) {
|
|
120
|
+
this.logl(LogLevel.TRACE, value, args)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
debug(value: any, ...args: any[]) {
|
|
124
|
+
this.logl(LogLevel.DEBUG, value, args)
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
info(value: any, ...args: any[]) {
|
|
128
|
+
this.logl(LogLevel.INFO, value, args)
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
warning(value: any, ...args: any[]) {
|
|
132
|
+
this.logl(LogLevel.WARNING, value, args)
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
error(value: any, ...args: any[]) {
|
|
136
|
+
this.logl(LogLevel.ERROR, value, args)
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
logl(level: LogLevel, value: any, ...args: any[]) {
|
|
140
|
+
const date = new Date().toISOString()
|
|
141
|
+
|
|
142
|
+
function toLogValue(options: SimpleLogOptions): any {
|
|
143
|
+
if (typeof value === 'string') {
|
|
144
|
+
return `${date}-(${options.namespace}) ${value}`
|
|
145
|
+
} else if (typeof value === 'object') {
|
|
146
|
+
value['namespace'] = options.namespace
|
|
147
|
+
value['time'] = date
|
|
148
|
+
}
|
|
149
|
+
return value
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const logValue = toLogValue(this.options)
|
|
153
|
+
if (this.options.methods.includes(LogMethod.DEBUG_PKG)) {
|
|
154
|
+
debug.default(this._options.namespace).log(`${date}- ${value}`, args)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (this.options.methods.includes(LogMethod.CONSOLE)) {
|
|
158
|
+
switch (level) {
|
|
159
|
+
case LogLevel.TRACE:
|
|
160
|
+
return console.trace(logValue, args)
|
|
161
|
+
case LogLevel.DEBUG:
|
|
162
|
+
return console.debug(logValue, args)
|
|
163
|
+
case LogLevel.INFO:
|
|
164
|
+
return console.info(logValue, args)
|
|
165
|
+
case LogLevel.WARNING:
|
|
166
|
+
return console.warn(logValue, args)
|
|
167
|
+
case LogLevel.ERROR:
|
|
168
|
+
return console.error(logValue, args)
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (this.options.methods.includes(LogMethod.EVENT)) {
|
|
173
|
+
this._eventEmitter.emit(this.options.eventName, {
|
|
174
|
+
data: value.toString(),
|
|
175
|
+
timestamp: new Date(date),
|
|
176
|
+
level,
|
|
177
|
+
type: LoggingEventType.GENERAL,
|
|
178
|
+
diagnosticData: args,
|
|
179
|
+
} satisfies SimpleLogEvent)
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
log(value: any, args?: any[]) {
|
|
184
|
+
this.logl(this.options.defaultLogLevel, value, args)
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export class SimpleRecordLogger extends SimpleLogger implements ISimpleLogger<Record<string, any>> {
|
|
189
|
+
constructor(opts?: SimpleLogOptions) {
|
|
190
|
+
super(opts)
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export function log(namespace: string, level: LogLevel, value?: string, args?: any[]) {
|
|
195
|
+
const logValue = value ?? namespace
|
|
196
|
+
const ns = value != undefined ? namespace : 'sphereon:default'
|
|
197
|
+
debug.default(ns).log(logValue, args)
|
|
198
|
+
}
|