@spinajs/log-common 2.0.110 → 2.0.111

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.
@@ -1,4 +1,4 @@
1
- import { SyncService } from "@spinajs/di";
1
+ import { Container, SyncService } from "@spinajs/di";
2
2
  export declare enum LogLevel {
3
3
  Security = 999,
4
4
  Fatal = 6,
@@ -156,38 +156,54 @@ export interface ILogTargetDesc {
156
156
  options?: ITargetsOption;
157
157
  rule: ILogRule;
158
158
  }
159
- export interface ILog {
160
- Targets: ILogTargetDesc[];
161
- trace(message: string, ...args: any[]): void;
162
- trace(err: Error, message: string, ...args: any[]): void;
163
- trace(err: Error | string, message: string | any[], ...args: any[]): void;
164
- debug(message: string, ...args: any[]): void;
165
- debug(err: Error, message: string, ...args: any[]): void;
166
- debug(err: Error | string, message: string | any[], ...args: any[]): void;
167
- info(message: string, ...args: any[]): void;
168
- info(err: Error, message: string, ...args: any[]): void;
169
- info(err: Error | string, message: string | any[], ...args: any[]): void;
170
- warn(message: string, ...args: any[]): void;
171
- warn(err: Error, message: string, ...args: any[]): void;
172
- warn(err: Error | string, message: string | any[], ...args: any[]): void;
173
- error(message: string, ...args: any[]): void;
174
- error(err: Error, message: string, ...args: any[]): void;
175
- error(err: Error | string, message: string | any[], ...args: any[]): void;
176
- fatal(message: string, ...args: any[]): void;
177
- fatal(err: Error, message: string, ...args: any[]): void;
178
- fatal(err: Error | string, message: string | any[], ...args: any[]): void;
179
- security(message: string, ...args: any[]): void;
180
- security(err: Error, message: string, ...args: any[]): void;
181
- security(err: Error | string, message: string | any[], ...args: any[]): void;
182
- success(message: string, ...args: any[]): void;
183
- success(err: Error, message: string, ...args: any[]): void;
184
- success(err: Error | string, message: string | any[], ...args: any[]): void;
185
- child(name: string, variables?: LogVariables): ILog;
186
- write(entry: ILogEntry): Promise<PromiseSettledResult<void>[]>;
159
+ export declare function createLogMessageObject(err: Error | string, message: string | any[], level: LogLevel, logger: string, variables: any, ...args: any[]): ILogEntry;
160
+ export declare abstract class Log extends SyncService {
161
+ static Loggers: Map<string, Log>;
162
+ static InternalLoggers: Map<string, Log>;
163
+ Timers: Map<string, Date>;
164
+ protected Targets: ILogTargetDesc[];
165
+ Name: string;
166
+ protected static AttachedToExitEvents: boolean;
167
+ protected Options: ILogOptions;
168
+ protected Rules: ILogRule[];
169
+ protected Container: Container;
170
+ protected Variables: Record<string, any>;
171
+ static clearLoggers(): Promise<Promise<void>[]>;
187
172
  addVariable(name: string, value: unknown): void;
188
173
  timeStart(name: string): void;
189
174
  timeEnd(name: string): number;
175
+ child(name: string, variables?: LogVariables): Log;
176
+ abstract trace(message: string, ...args: any[]): void;
177
+ abstract trace(err: Error, message: string, ...args: any[]): void;
178
+ abstract trace(err: Error | string, message: string | any[], ...args: any[]): void;
179
+ abstract debug(message: string, ...args: any[]): void;
180
+ abstract debug(err: Error, message: string, ...args: any[]): void;
181
+ abstract debug(err: Error | string, message: string | any[], ...args: any[]): void;
182
+ abstract info(message: string, ...args: any[]): void;
183
+ abstract info(err: Error, message: string, ...args: any[]): void;
184
+ abstract info(err: Error | string, message: string | any[], ...args: any[]): void;
185
+ abstract warn(message: string, ...args: any[]): void;
186
+ abstract warn(err: Error, message: string, ...args: any[]): void;
187
+ abstract warn(err: Error | string, message: string | any[], ...args: any[]): void;
188
+ abstract error(message: string, ...args: any[]): void;
189
+ abstract error(err: Error, message: string, ...args: any[]): void;
190
+ abstract error(err: Error | string, message: string | any[], ...args: any[]): void;
191
+ abstract fatal(message: string, ...args: any[]): void;
192
+ abstract fatal(err: Error, message: string, ...args: any[]): void;
193
+ abstract fatal(err: Error | string, message: string | any[], ...args: any[]): void;
194
+ abstract security(message: string, ...args: any[]): void;
195
+ abstract security(err: Error, message: string, ...args: any[]): void;
196
+ abstract security(err: Error | string, message: string | any[], ...args: any[]): void;
197
+ abstract success(message: string, ...args: any[]): void;
198
+ abstract success(err: Error, message: string, ...args: any[]): void;
199
+ abstract success(err: Error | string, message: string | any[], ...args: any[]): void;
200
+ abstract write(entry: ILogEntry): Promise<PromiseSettledResult<void>[]>;
190
201
  }
202
+ /**
203
+ * Creates ( if not exists ) new logger instance with given name and optional variables
204
+ * @param name - name of logger
205
+ * @param variables - optional log variables
206
+ */
207
+ export declare function Logger(name: string, variables?: Record<string, unknown>): (target: any, key: string) => any;
191
208
  export type LogVariables = ILogStaticVariables & ILogVariable;
192
- export declare function createLogMessageObject(err: Error | string, message: string | any[], level: LogLevel, logger: string, variables: any, ...args: any[]): ILogEntry;
193
209
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/cjs/index.js CHANGED
@@ -15,6 +15,12 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
18
24
  var __importStar = (this && this.__importStar) || function (mod) {
19
25
  if (mod && mod.__esModule) return mod;
20
26
  var result = {};
@@ -22,11 +28,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
28
  __setModuleDefault(result, mod);
23
29
  return result;
24
30
  };
31
+ var __metadata = (this && this.__metadata) || function (k, v) {
32
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
+ };
25
34
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
36
  };
28
37
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.createLogMessageObject = exports.LogTarget = exports.LogLevelStrings = exports.StrToLogLevel = exports.LogLevel = void 0;
38
+ exports.Logger = exports.Log = exports.createLogMessageObject = exports.LogTarget = exports.LogLevelStrings = exports.StrToLogLevel = exports.LogLevel = void 0;
30
39
  const di_1 = require("@spinajs/di");
31
40
  const lodash_1 = __importDefault(require("lodash"));
32
41
  const util = __importStar(require("util"));
@@ -91,4 +100,85 @@ function createLogMessageObject(err, message, level, logger, variables, ...args)
91
100
  };
92
101
  }
93
102
  exports.createLogMessageObject = createLogMessageObject;
103
+ class Log extends di_1.SyncService {
104
+ constructor() {
105
+ super(...arguments);
106
+ this.Timers = new Map();
107
+ this.Variables = {};
108
+ }
109
+ static clearLoggers() {
110
+ return Promise.all([...Log.Loggers.values()].map((l) => l.dispose())).then(() => {
111
+ Log.Loggers.clear();
112
+ }).then(() => {
113
+ return [...Log.InternalLoggers.values()].map((l) => l.dispose());
114
+ });
115
+ }
116
+ addVariable(name, value) {
117
+ this.Variables[`${name}`] = value;
118
+ }
119
+ timeStart(name) {
120
+ if (this.Timers.has(name)) {
121
+ return;
122
+ }
123
+ this.Timers.set(name, new Date());
124
+ }
125
+ timeEnd(name) {
126
+ if (this.Timers.has(name)) {
127
+ const cTime = new Date();
128
+ const diff = cTime.getTime() - this.Timers.get(name).getTime();
129
+ this.Timers.delete(name);
130
+ return diff;
131
+ }
132
+ return 0;
133
+ }
134
+ child(name, variables) {
135
+ return di_1.DI.resolve(Log, [
136
+ `${this.Name}.${name}`,
137
+ {
138
+ ...this.Variables,
139
+ ...variables,
140
+ },
141
+ this,
142
+ ]);
143
+ }
144
+ }
145
+ Log.Loggers = new Map();
146
+ Log.InternalLoggers = new Map();
147
+ Log.AttachedToExitEvents = false;
148
+ __decorate([
149
+ (0, di_1.Autoinject)(),
150
+ __metadata("design:type", di_1.Container)
151
+ ], Log.prototype, "Container", void 0);
152
+ exports.Log = Log;
153
+ /**
154
+ * Creates ( if not exists ) new logger instance with given name and optional variables
155
+ * @param name - name of logger
156
+ * @param variables - optional log variables
157
+ */
158
+ function Logger(name, variables) {
159
+ return (target, key) => {
160
+ let logger;
161
+ // property getter
162
+ const getter = () => {
163
+ if (!logger) {
164
+ const allLoggers = di_1.DI.get(Array.ofType(Log));
165
+ const found = allLoggers.find((l) => l.Name === name);
166
+ if (found) {
167
+ logger = found;
168
+ }
169
+ else {
170
+ logger = di_1.DI.resolve(Log, [name, variables]);
171
+ }
172
+ }
173
+ return logger;
174
+ };
175
+ // Create new property with getter and setter
176
+ Object.defineProperty(target, key, {
177
+ get: getter,
178
+ enumerable: false,
179
+ configurable: false,
180
+ });
181
+ };
182
+ }
183
+ exports.Logger = Logger;
94
184
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA0C;AAC1C,oDAAuB;AACvB,2CAA6B;AAE7B,IAAY,QAgBX;AAhBD,WAAY,QAAQ;IAClB,iDAAc,CAAA;IAEd,yCAAS,CAAA;IAET,yCAAS,CAAA;IAET,uCAAQ,CAAA;IAER,6CAAW,CAAA;IAEX,uCAAQ,CAAA;IAER,yCAAS,CAAA;IAET,yCAAS,CAAA;AACX,CAAC,EAhBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAgBnB;AAEY,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;CAC5B,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACvB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC/B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;CACxB,CAAC;AAgJF,MAAsB,SAEpB,SAAQ,gBAAW;IAKnB,YAAY,OAAU;QACpB,KAAK,EAAE,CAAC;QALH,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAA2B,IAAI,CAAC;QAM1C,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,gBAAC,CAAC,KAAK,CACpB,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,sDAAsD;aAC/D,CAAC,EACF,OAAO,CACR,CAAC;SACH;IACH,CAAC;CAGF;AAtBD,8BAsBC;AAsDD,SAAgB,sBAAsB,CACpC,GAAmB,EACnB,OAAuB,EACvB,KAAe,EACf,MAAc,EACd,SAAc,EACd,GAAG,IAAW;IAEd,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAC;IAEhC,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAC7C,KAAK,EAAE,uBAAe,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;YACb,GAAG,SAAS;SACb;KACF,CAAC;AACJ,CAAC;AAtBD,wDAsBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SyncService } from "@spinajs/di";
1
+ import { Container, SyncService } from "@spinajs/di";
2
2
  export declare enum LogLevel {
3
3
  Security = 999,
4
4
  Fatal = 6,
@@ -156,38 +156,54 @@ export interface ILogTargetDesc {
156
156
  options?: ITargetsOption;
157
157
  rule: ILogRule;
158
158
  }
159
- export interface ILog {
160
- Targets: ILogTargetDesc[];
161
- trace(message: string, ...args: any[]): void;
162
- trace(err: Error, message: string, ...args: any[]): void;
163
- trace(err: Error | string, message: string | any[], ...args: any[]): void;
164
- debug(message: string, ...args: any[]): void;
165
- debug(err: Error, message: string, ...args: any[]): void;
166
- debug(err: Error | string, message: string | any[], ...args: any[]): void;
167
- info(message: string, ...args: any[]): void;
168
- info(err: Error, message: string, ...args: any[]): void;
169
- info(err: Error | string, message: string | any[], ...args: any[]): void;
170
- warn(message: string, ...args: any[]): void;
171
- warn(err: Error, message: string, ...args: any[]): void;
172
- warn(err: Error | string, message: string | any[], ...args: any[]): void;
173
- error(message: string, ...args: any[]): void;
174
- error(err: Error, message: string, ...args: any[]): void;
175
- error(err: Error | string, message: string | any[], ...args: any[]): void;
176
- fatal(message: string, ...args: any[]): void;
177
- fatal(err: Error, message: string, ...args: any[]): void;
178
- fatal(err: Error | string, message: string | any[], ...args: any[]): void;
179
- security(message: string, ...args: any[]): void;
180
- security(err: Error, message: string, ...args: any[]): void;
181
- security(err: Error | string, message: string | any[], ...args: any[]): void;
182
- success(message: string, ...args: any[]): void;
183
- success(err: Error, message: string, ...args: any[]): void;
184
- success(err: Error | string, message: string | any[], ...args: any[]): void;
185
- child(name: string, variables?: LogVariables): ILog;
186
- write(entry: ILogEntry): Promise<PromiseSettledResult<void>[]>;
159
+ export declare function createLogMessageObject(err: Error | string, message: string | any[], level: LogLevel, logger: string, variables: any, ...args: any[]): ILogEntry;
160
+ export declare abstract class Log extends SyncService {
161
+ static Loggers: Map<string, Log>;
162
+ static InternalLoggers: Map<string, Log>;
163
+ Timers: Map<string, Date>;
164
+ protected Targets: ILogTargetDesc[];
165
+ Name: string;
166
+ protected static AttachedToExitEvents: boolean;
167
+ protected Options: ILogOptions;
168
+ protected Rules: ILogRule[];
169
+ protected Container: Container;
170
+ protected Variables: Record<string, any>;
171
+ static clearLoggers(): Promise<Promise<void>[]>;
187
172
  addVariable(name: string, value: unknown): void;
188
173
  timeStart(name: string): void;
189
174
  timeEnd(name: string): number;
175
+ child(name: string, variables?: LogVariables): Log;
176
+ abstract trace(message: string, ...args: any[]): void;
177
+ abstract trace(err: Error, message: string, ...args: any[]): void;
178
+ abstract trace(err: Error | string, message: string | any[], ...args: any[]): void;
179
+ abstract debug(message: string, ...args: any[]): void;
180
+ abstract debug(err: Error, message: string, ...args: any[]): void;
181
+ abstract debug(err: Error | string, message: string | any[], ...args: any[]): void;
182
+ abstract info(message: string, ...args: any[]): void;
183
+ abstract info(err: Error, message: string, ...args: any[]): void;
184
+ abstract info(err: Error | string, message: string | any[], ...args: any[]): void;
185
+ abstract warn(message: string, ...args: any[]): void;
186
+ abstract warn(err: Error, message: string, ...args: any[]): void;
187
+ abstract warn(err: Error | string, message: string | any[], ...args: any[]): void;
188
+ abstract error(message: string, ...args: any[]): void;
189
+ abstract error(err: Error, message: string, ...args: any[]): void;
190
+ abstract error(err: Error | string, message: string | any[], ...args: any[]): void;
191
+ abstract fatal(message: string, ...args: any[]): void;
192
+ abstract fatal(err: Error, message: string, ...args: any[]): void;
193
+ abstract fatal(err: Error | string, message: string | any[], ...args: any[]): void;
194
+ abstract security(message: string, ...args: any[]): void;
195
+ abstract security(err: Error, message: string, ...args: any[]): void;
196
+ abstract security(err: Error | string, message: string | any[], ...args: any[]): void;
197
+ abstract success(message: string, ...args: any[]): void;
198
+ abstract success(err: Error, message: string, ...args: any[]): void;
199
+ abstract success(err: Error | string, message: string | any[], ...args: any[]): void;
200
+ abstract write(entry: ILogEntry): Promise<PromiseSettledResult<void>[]>;
190
201
  }
202
+ /**
203
+ * Creates ( if not exists ) new logger instance with given name and optional variables
204
+ * @param name - name of logger
205
+ * @param variables - optional log variables
206
+ */
207
+ export declare function Logger(name: string, variables?: Record<string, unknown>): (target: any, key: string) => any;
191
208
  export type LogVariables = ILogStaticVariables & ILogVariable;
192
- export declare function createLogMessageObject(err: Error | string, message: string | any[], level: LogLevel, logger: string, variables: any, ...args: any[]): ILogEntry;
193
209
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/mjs/index.js CHANGED
@@ -1,4 +1,13 @@
1
- import { SyncService } from "@spinajs/di";
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Autoinject, Container, DI, SyncService } from "@spinajs/di";
2
11
  import _ from "lodash";
3
12
  import * as util from "util";
4
13
  export var LogLevel;
@@ -60,4 +69,83 @@ export function createLogMessageObject(err, message, level, logger, variables, .
60
69
  },
61
70
  };
62
71
  }
72
+ export class Log extends SyncService {
73
+ constructor() {
74
+ super(...arguments);
75
+ this.Timers = new Map();
76
+ this.Variables = {};
77
+ }
78
+ static clearLoggers() {
79
+ return Promise.all([...Log.Loggers.values()].map((l) => l.dispose())).then(() => {
80
+ Log.Loggers.clear();
81
+ }).then(() => {
82
+ return [...Log.InternalLoggers.values()].map((l) => l.dispose());
83
+ });
84
+ }
85
+ addVariable(name, value) {
86
+ this.Variables[`${name}`] = value;
87
+ }
88
+ timeStart(name) {
89
+ if (this.Timers.has(name)) {
90
+ return;
91
+ }
92
+ this.Timers.set(name, new Date());
93
+ }
94
+ timeEnd(name) {
95
+ if (this.Timers.has(name)) {
96
+ const cTime = new Date();
97
+ const diff = cTime.getTime() - this.Timers.get(name).getTime();
98
+ this.Timers.delete(name);
99
+ return diff;
100
+ }
101
+ return 0;
102
+ }
103
+ child(name, variables) {
104
+ return DI.resolve(Log, [
105
+ `${this.Name}.${name}`,
106
+ {
107
+ ...this.Variables,
108
+ ...variables,
109
+ },
110
+ this,
111
+ ]);
112
+ }
113
+ }
114
+ Log.Loggers = new Map();
115
+ Log.InternalLoggers = new Map();
116
+ Log.AttachedToExitEvents = false;
117
+ __decorate([
118
+ Autoinject(),
119
+ __metadata("design:type", Container)
120
+ ], Log.prototype, "Container", void 0);
121
+ /**
122
+ * Creates ( if not exists ) new logger instance with given name and optional variables
123
+ * @param name - name of logger
124
+ * @param variables - optional log variables
125
+ */
126
+ export function Logger(name, variables) {
127
+ return (target, key) => {
128
+ let logger;
129
+ // property getter
130
+ const getter = () => {
131
+ if (!logger) {
132
+ const allLoggers = DI.get(Array.ofType(Log));
133
+ const found = allLoggers.find((l) => l.Name === name);
134
+ if (found) {
135
+ logger = found;
136
+ }
137
+ else {
138
+ logger = DI.resolve(Log, [name, variables]);
139
+ }
140
+ }
141
+ return logger;
142
+ };
143
+ // Create new property with getter and setter
144
+ Object.defineProperty(target, key, {
145
+ get: getter,
146
+ enumerable: false,
147
+ configurable: false,
148
+ });
149
+ };
150
+ }
63
151
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,CAAN,IAAY,QAgBX;AAhBD,WAAY,QAAQ;IAClB,iDAAc,CAAA;IAEd,yCAAS,CAAA;IAET,yCAAS,CAAA;IAET,uCAAQ,CAAA;IAER,6CAAW,CAAA;IAEX,uCAAQ,CAAA;IAER,yCAAS,CAAA;IAET,yCAAS,CAAA;AACX,CAAC,EAhBW,QAAQ,GAAR,QAAQ,KAAR,QAAQ,QAgBnB;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACvB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC/B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;CACxB,CAAC;AAgJF,MAAM,OAAgB,SAEpB,SAAQ,WAAW;IAKnB,YAAY,OAAU;QACpB,KAAK,EAAE,CAAC;QALH,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAA2B,IAAI,CAAC;QAM1C,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CACpB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,sDAAsD;aAC/D,CAAC,EACF,OAAO,CACR,CAAC;SACH;IACH,CAAC;CAGF;AAsDD,MAAM,UAAU,sBAAsB,CACpC,GAAmB,EACnB,OAAuB,EACvB,KAAe,EACf,MAAc,EACd,SAAc,EACd,GAAG,IAAW;IAEd,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAC;IAEhC,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAC7C,KAAK,EAAE,eAAe,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;YACb,GAAG,SAAS;SACb;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,CAAN,IAAY,QAgBX;AAhBD,WAAY,QAAQ;IAClB,iDAAc,CAAA;IAEd,yCAAS,CAAA;IAET,yCAAS,CAAA;IAET,uCAAQ,CAAA;IAER,6CAAW,CAAA;IAEX,uCAAQ,CAAA;IAER,yCAAS,CAAA;IAET,yCAAS,CAAA;AACX,CAAC,EAhBW,QAAQ,GAAR,QAAQ,KAAR,QAAQ,QAgBnB;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACvB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC/B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;CACxB,CAAC;AAgJF,MAAM,OAAgB,SAEpB,SAAQ,WAAW;IAKnB,YAAY,OAAU;QACpB,KAAK,EAAE,CAAC;QALH,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAA2B,IAAI,CAAC;QAM1C,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CACpB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,sDAAsD;aAC/D,CAAC,EACF,OAAO,CACR,CAAC;SACH;IACH,CAAC;CAGF;AAQD,MAAM,UAAU,sBAAsB,CACpC,GAAmB,EACnB,OAAuB,EACvB,KAAe,EACf,MAAc,EACd,SAAc,EACd,GAAG,IAAW;IAEd,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAC;IAEhC,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAC7C,KAAK,EAAE,eAAe,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;YACb,GAAG,SAAS;SACb;KACF,CAAC;AACJ,CAAC;AAED,MAAM,OAAgB,GAAI,SAAQ,WAAW;IAA7C;;QAKS,WAAM,GAAsB,IAAI,GAAG,EAAgB,CAAC;QAcjD,cAAS,GAAwB,EAAE,CAAC;IAiFhD,CAAC;IA/EQ,MAAM,CAAC,YAAY;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9E,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,OAAO,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAA;IACJ,CAAC;IAGM,WAAW,CAAC,IAAY,EAAE,KAAc;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;IACpC,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO;SACR;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,OAAO,CAAC,IAAY;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAE/D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEzB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAGM,KAAK,CAAC,IAAY,EAAE,SAAwB;QACjD,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACrB,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB;gBACE,GAAG,IAAI,CAAC,SAAS;gBACjB,GAAG,SAAS;aACb;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;;AA/Da,WAAO,GAAqB,IAAI,GAAG,EAAE,CAAC;AACtC,mBAAe,GAAqB,IAAI,GAAG,EAAE,CAAC;AAO3C,wBAAoB,GAAG,KAAK,CAAC;AAM9C;IAAC,UAAU,EAAE;8BACQ,SAAS;sCAAC;AAsFjC;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,SAAmC;IACtE,OAAO,CAAC,MAAW,EAAE,GAAW,EAAO,EAAE;QACvC,IAAI,MAAW,CAAC;QAEhB,kBAAkB;QAClB,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,UAAU,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAEtD,IAAI,KAAK,EAAE;oBACT,MAAM,GAAG,KAAK,CAAC;iBAChB;qBAAM;oBACL,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;iBAC7C;aACF;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,6CAA6C;QAC7C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,GAAG,EAAE,MAAM;YACX,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}