namirasoft-log 1.3.1 → 1.3.3

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.
@@ -3,4 +3,5 @@ export declare abstract class BaseFormatter {
3
3
  protected formatDate(date: Date): string;
4
4
  protected formatTime(date: Date): string;
5
5
  protected qoute(text: string, size: number, filler: string): string;
6
+ protected getMesssages(messages: any[]): any[];
6
7
  }
@@ -23,6 +23,13 @@ class BaseFormatter {
23
23
  text = text.padEnd(size, filler);
24
24
  return text;
25
25
  }
26
+ getMesssages(messages) {
27
+ return messages.map(x => {
28
+ if (typeof (x) == "object")
29
+ return JSON.stringify(x);
30
+ return x;
31
+ });
32
+ }
26
33
  }
27
34
  exports.BaseFormatter = BaseFormatter;
28
35
  //# sourceMappingURL=BaseFormatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFormatter.js","sourceRoot":"","sources":["../src/BaseFormatter.ts"],"names":[],"mappings":";;;AAAA,MAAsB,aAAa;IAErB,cAAc,CAAC,IAAU;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACS,UAAU,CAAC,IAAU;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IACrC,CAAC;IACS,UAAU,CAAC,IAAU;QAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,GAAG,KAAK,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;IAC5C,CAAC;IACS,KAAK,CAAC,IAAY,EAAE,IAAY,EAAE,MAAc;QAEtD,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA3BD,sCA2BC"}
1
+ {"version":3,"file":"BaseFormatter.js","sourceRoot":"","sources":["../src/BaseFormatter.ts"],"names":[],"mappings":";;;AAAA,MAAsB,aAAa;IAErB,cAAc,CAAC,IAAU;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACS,UAAU,CAAC,IAAU;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IACrC,CAAC;IACS,UAAU,CAAC,IAAU;QAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,GAAG,KAAK,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;IAC5C,CAAC;IACS,KAAK,CAAC,IAAY,EAAE,IAAY,EAAE,MAAc;QAEtD,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IACS,YAAY,CAAC,QAAe;QAElC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAEpB,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ;gBACtB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AApCD,sCAoCC"}
@@ -2,5 +2,9 @@ import { BaseFormatter } from "./BaseFormatter";
2
2
  import { IFormatter } from "./IFormatter";
3
3
  import { Log } from "./Log";
4
4
  export declare class FormatterFull extends BaseFormatter implements IFormatter {
5
- format(log: Log): Promise<string[]>;
5
+ format(log: Log): Promise<{
6
+ pre: string[];
7
+ messages: string[];
8
+ post: string[];
9
+ }>;
6
10
  }
@@ -15,17 +15,19 @@ const LogLevel_1 = require("./LogLevel");
15
15
  class FormatterFull extends BaseFormatter_1.BaseFormatter {
16
16
  format(log) {
17
17
  return __awaiter(this, void 0, void 0, function* () {
18
- let ans = [];
19
- ans.push(this.qoute(this.formatDateTime(log.date), 100, '-'));
20
- ans.push("Level: " + LogLevel_1.LogLevel[log.level]);
21
- if (log.group)
22
- ans.push("Group: " + log.group);
23
- ans.push("Message: " + log.message);
24
- if (log.stack)
25
- ans.push("Stack: " + log.stack);
26
- ans.push(this.qoute("", 100, '-'));
27
- ans.push("");
28
- return ans;
18
+ let pre = [];
19
+ let messages = [];
20
+ let post = [];
21
+ pre.push(this.qoute(this.formatDateTime(log.date), 100, '-'));
22
+ pre.push("Level: " + LogLevel_1.LogLevel[log.level]);
23
+ messages.push(...log.messages.map(x => {
24
+ if (typeof (x) == "object")
25
+ return JSON.stringify(x);
26
+ return x;
27
+ }));
28
+ post.push(this.qoute("", 100, '-'));
29
+ post.push("");
30
+ return { pre, messages, post };
29
31
  });
30
32
  }
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormatterFull.js","sourceRoot":"","sources":["../src/FormatterFull.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgD;AAGhD,yCAAsC;AAEtC,MAAa,aAAc,SAAQ,6BAAa;IAEtC,MAAM,CAAC,GAAQ;;YAEjB,IAAI,GAAG,GAAa,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,mBAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,KAAK;gBACT,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,GAAG,CAAC,KAAK;gBACT,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;CACJ;AAhBD,sCAgBC"}
1
+ {"version":3,"file":"FormatterFull.js","sourceRoot":"","sources":["../src/FormatterFull.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgD;AAGhD,yCAAsC;AAEtC,MAAa,aAAc,SAAQ,6BAAa;IAEtC,MAAM,CAAC,GAAQ;;YAEjB,IAAI,GAAG,GAAa,EAAE,CAAC;YACvB,IAAI,QAAQ,GAAa,EAAE,CAAC;YAC5B,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,mBAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAElC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ;oBACtB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC7B,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;KAAA;CACJ;AAnBD,sCAmBC"}
@@ -2,5 +2,9 @@ import { BaseFormatter } from "./BaseFormatter";
2
2
  import { IFormatter } from "./IFormatter";
3
3
  import { Log } from "./Log";
4
4
  export declare class FormatterShort extends BaseFormatter implements IFormatter {
5
- format(log: Log): Promise<string[]>;
5
+ format(log: Log): Promise<{
6
+ pre: string[];
7
+ messages: string[];
8
+ post: string[];
9
+ }>;
6
10
  }
@@ -15,10 +15,8 @@ class FormatterShort extends BaseFormatter_1.BaseFormatter {
15
15
  format(log) {
16
16
  return __awaiter(this, void 0, void 0, function* () {
17
17
  let ans = [];
18
- ans.push(this.formatDateTime(log.date) + ": " + [log.group, log.message].filter(m => m).join(" - "));
19
- if (log.stack)
20
- ans.push(log.stack);
21
- return ans;
18
+ ans.push(this.formatDateTime(log.date) + ": " + this.getMesssages(log.messages).filter(m => m).join(" - "));
19
+ return { pre: [], messages: ans, post: [] };
22
20
  });
23
21
  }
24
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormatterShort.js","sourceRoot":"","sources":["../src/FormatterShort.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgD;AAIhD,MAAa,cAAe,SAAQ,6BAAa;IAEvC,MAAM,CAAC,GAAQ;;YAEjB,IAAI,GAAG,GAAa,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACrG,IAAI,GAAG,CAAC,KAAK;gBACT,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;CACJ;AAVD,wCAUC"}
1
+ {"version":3,"file":"FormatterShort.js","sourceRoot":"","sources":["../src/FormatterShort.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgD;AAIhD,MAAa,cAAe,SAAQ,6BAAa;IAEvC,MAAM,CAAC,GAAQ;;YAEjB,IAAI,GAAG,GAAa,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5G,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC;KAAA;CACJ;AARD,wCAQC"}
@@ -1,4 +1,8 @@
1
1
  import { Log } from "./Log";
2
2
  export interface IFormatter {
3
- format(log: Log): Promise<string[]>;
3
+ format(log: Log): Promise<{
4
+ pre: string[];
5
+ messages: string[];
6
+ post: string[];
7
+ }>;
4
8
  }
package/dist/ILogger.d.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import { LogLevel } from "./LogLevel";
2
2
  export interface ILogger {
3
- log(level: LogLevel, message: string, group?: string, stack?: string): Promise<void>;
4
- trace(message: string, group?: string, stack?: string): Promise<void>;
5
- verbose(message: string, group?: string, stack?: string): Promise<void>;
6
- debug(message: string, group?: string, stack?: string): Promise<void>;
7
- info(message: string, group?: string, stack?: string): Promise<void>;
8
- warning(message: string, group?: string, stack?: string): Promise<void>;
9
- error(message: string, group?: string, stack?: string): Promise<void>;
10
- critical(message: string, group?: string, stack?: string): Promise<void>;
11
- fatal(message: string, group?: string, stack?: string): Promise<void>;
12
- onCatchError(error: Error | unknown, group?: string): Promise<void>;
13
- onCatchCritical(error: Error | unknown, group?: string): Promise<void>;
14
- onCatchFatal(error: Error | unknown, group?: string): Promise<void>;
3
+ log(level: LogLevel, ...messages: any[]): Promise<void>;
4
+ trace(...messages: any[]): Promise<void>;
5
+ verbose(...messages: any[]): Promise<void>;
6
+ debug(...messages: any[]): Promise<void>;
7
+ info(...messages: any[]): Promise<void>;
8
+ warning(...messages: any[]): Promise<void>;
9
+ error(...messages: any[]): Promise<void>;
10
+ critical(...messages: any[]): Promise<void>;
11
+ fatal(...messages: any[]): Promise<void>;
12
+ onCatchError(error: Error | unknown): Promise<void>;
13
+ onCatchCritical(error: Error | unknown): Promise<void>;
14
+ onCatchFatal(error: Error | unknown): Promise<void>;
15
15
  }
package/dist/IStream.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import { Log } from "./Log";
2
2
  export interface IStream {
3
- write(log: Log, formated: string[]): Promise<void>;
3
+ write(log: Log, formated: {
4
+ pre: string[];
5
+ messages: string[];
6
+ post: string[];
7
+ }): Promise<void>;
4
8
  }
package/dist/Log.d.ts CHANGED
@@ -2,8 +2,6 @@ import { LogLevel } from "./LogLevel";
2
2
  export declare class Log {
3
3
  date: Date;
4
4
  level: LogLevel;
5
- group: string;
6
- message: string;
7
- stack: string;
8
- constructor(level: LogLevel, message: string, group?: string, stack?: string);
5
+ messages: any[];
6
+ constructor(level: LogLevel, ...messages: any[]);
9
7
  }
package/dist/Log.js CHANGED
@@ -2,12 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Log = void 0;
4
4
  class Log {
5
- constructor(level, message, group, stack) {
5
+ constructor(level, ...messages) {
6
6
  this.date = new Date();
7
7
  this.level = level;
8
- this.message = message;
9
- this.group = group !== null && group !== void 0 ? group : "";
10
- this.stack = stack !== null && stack !== void 0 ? stack : "";
8
+ this.messages = messages;
11
9
  }
12
10
  }
13
11
  exports.Log = Log;
package/dist/Log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Log.js","sourceRoot":"","sources":["../src/Log.ts"],"names":[],"mappings":";;;AAEA,MAAa,GAAG;IAOZ,YAAY,KAAe,EAAE,OAAe,EAAE,KAAc,EAAE,KAAc;QAExE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IAC7B,CAAC;CACJ;AAfD,kBAeC"}
1
+ {"version":3,"file":"Log.js","sourceRoot":"","sources":["../src/Log.ts"],"names":[],"mappings":";;;AAEA,MAAa,GAAG;IAKZ,YAAY,KAAe,EAAE,GAAG,QAAe;QAE3C,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAXD,kBAWC"}
package/dist/Logger.d.ts CHANGED
@@ -3,6 +3,7 @@ import { ILogger } from "./ILogger";
3
3
  import { IStream } from "./IStream";
4
4
  import { LogLevel } from "./LogLevel";
5
5
  export declare class Logger implements ILogger {
6
+ static main: Logger | null;
6
7
  private defaultStream;
7
8
  private formatter?;
8
9
  private customFormatter;
@@ -11,18 +12,18 @@ export declare class Logger implements ILogger {
11
12
  setFromatter(formatter: IFormatter): void;
12
13
  setCustomFormatter(level: LogLevel, formatter: IFormatter): void;
13
14
  addStream(stream: IStream): void;
14
- log(level: LogLevel, message: string, group?: string, stack?: string): Promise<void>;
15
- trace(message: string, group?: string, stack?: string): Promise<void>;
16
- verbose(message: string, group?: string, stack?: string): Promise<void>;
17
- debug(message: string, group?: string, stack?: string): Promise<void>;
18
- info(message: string, group?: string, stack?: string): Promise<void>;
19
- warning(message: string, group?: string, stack?: string): Promise<void>;
20
- error(message: string, group?: string, stack?: string): Promise<void>;
21
- critical(message: string, group?: string, stack?: string): Promise<void>;
22
- fatal(message: string, group?: string, stack?: string): Promise<void>;
23
- onCatchError(error: Error | unknown, group?: string): Promise<void>;
24
- onCatchCritical(error: Error | unknown, group?: string): Promise<void>;
25
- onCatchFatal(error: Error | unknown, group?: string): Promise<void>;
15
+ log(level: LogLevel, ...messages: any[]): Promise<void>;
16
+ trace(...messages: any[]): Promise<void>;
17
+ verbose(...messages: any[]): Promise<void>;
18
+ debug(...messages: any[]): Promise<void>;
19
+ info(...messages: any[]): Promise<void>;
20
+ warning(...messages: any[]): Promise<void>;
21
+ error(...messages: any[]): Promise<void>;
22
+ critical(...messages: any[]): Promise<void>;
23
+ fatal(...messages: any[]): Promise<void>;
24
+ onCatchError(error: Error | unknown): Promise<void>;
25
+ onCatchCritical(error: Error | unknown): Promise<void>;
26
+ onCatchFatal(error: Error | unknown): Promise<void>;
26
27
  protected getErrorMessage(error: Error | unknown): string;
27
28
  protected getErrorStack(error: Error | unknown): string;
28
29
  initUncought(): void;
package/dist/Logger.js CHANGED
@@ -20,6 +20,8 @@ class Logger {
20
20
  this.formatter = new FormatterFull_1.FormatterFull();
21
21
  this.customFormatter = {};
22
22
  this.streams = [];
23
+ if (Logger.main == null)
24
+ Logger.main = this;
23
25
  this.setFromatter = this.setFromatter.bind(this);
24
26
  this.setCustomFormatter = this.setCustomFormatter.bind(this);
25
27
  this.addStream = this.addStream.bind(this);
@@ -48,11 +50,11 @@ class Logger {
48
50
  addStream(stream) {
49
51
  this.streams.push(stream);
50
52
  }
51
- log(level, message, group, stack) {
53
+ log(level, ...messages) {
52
54
  var _a;
53
55
  return __awaiter(this, void 0, void 0, function* () {
54
- let log = new Log_1.Log(level, message, group, stack);
55
- let formatted = [];
56
+ let log = new Log_1.Log(level, messages);
57
+ let formatted = { pre: [], messages: [], post: [] };
56
58
  let formatter = (_a = this.customFormatter[level.toString()]) !== null && _a !== void 0 ? _a : this.formatter;
57
59
  if (formatter)
58
60
  formatted = yield formatter.format(log);
@@ -64,59 +66,59 @@ class Logger {
64
66
  }
65
67
  });
66
68
  }
67
- trace(message, group, stack) {
69
+ trace(...messages) {
68
70
  return __awaiter(this, void 0, void 0, function* () {
69
- yield this.log(LogLevel_1.LogLevel.Trace, message, group, stack);
71
+ yield this.log(LogLevel_1.LogLevel.Trace, ...messages);
70
72
  });
71
73
  }
72
- verbose(message, group, stack) {
74
+ verbose(...messages) {
73
75
  return __awaiter(this, void 0, void 0, function* () {
74
- yield this.log(LogLevel_1.LogLevel.Verbose, message, group, stack);
76
+ yield this.log(LogLevel_1.LogLevel.Verbose, ...messages);
75
77
  });
76
78
  }
77
- debug(message, group, stack) {
79
+ debug(...messages) {
78
80
  return __awaiter(this, void 0, void 0, function* () {
79
- yield this.log(LogLevel_1.LogLevel.Debug, message, group, stack);
81
+ yield this.log(LogLevel_1.LogLevel.Debug, ...messages);
80
82
  });
81
83
  }
82
- info(message, group, stack) {
84
+ info(...messages) {
83
85
  return __awaiter(this, void 0, void 0, function* () {
84
- yield this.log(LogLevel_1.LogLevel.Info, message, group, stack);
86
+ yield this.log(LogLevel_1.LogLevel.Info, ...messages);
85
87
  });
86
88
  }
87
- warning(message, group, stack) {
89
+ warning(...messages) {
88
90
  return __awaiter(this, void 0, void 0, function* () {
89
- yield this.log(LogLevel_1.LogLevel.Warning, message, group, stack);
91
+ yield this.log(LogLevel_1.LogLevel.Warning, ...messages);
90
92
  });
91
93
  }
92
- error(message, group, stack) {
94
+ error(...messages) {
93
95
  return __awaiter(this, void 0, void 0, function* () {
94
- yield this.log(LogLevel_1.LogLevel.Error, message, group, stack);
96
+ yield this.log(LogLevel_1.LogLevel.Error, ...messages);
95
97
  });
96
98
  }
97
- critical(message, group, stack) {
99
+ critical(...messages) {
98
100
  return __awaiter(this, void 0, void 0, function* () {
99
- yield this.log(LogLevel_1.LogLevel.Critical, message, group, stack);
101
+ yield this.log(LogLevel_1.LogLevel.Critical, ...messages);
100
102
  });
101
103
  }
102
- fatal(message, group, stack) {
104
+ fatal(...messages) {
103
105
  return __awaiter(this, void 0, void 0, function* () {
104
- yield this.log(LogLevel_1.LogLevel.Fatal, message, group, stack);
106
+ yield this.log(LogLevel_1.LogLevel.Fatal, ...messages);
105
107
  });
106
108
  }
107
- onCatchError(error, group) {
109
+ onCatchError(error) {
108
110
  return __awaiter(this, void 0, void 0, function* () {
109
- yield this.error(this.getErrorMessage(error), group, this.getErrorStack(error));
111
+ yield this.error(this.getErrorMessage(error), this.getErrorStack(error));
110
112
  });
111
113
  }
112
- onCatchCritical(error, group) {
114
+ onCatchCritical(error) {
113
115
  return __awaiter(this, void 0, void 0, function* () {
114
- yield this.critical(this.getErrorMessage(error), group, this.getErrorStack(error));
116
+ yield this.critical(this.getErrorMessage(error), this.getErrorStack(error));
115
117
  });
116
118
  }
117
- onCatchFatal(error, group) {
119
+ onCatchFatal(error) {
118
120
  return __awaiter(this, void 0, void 0, function* () {
119
- yield this.fatal(this.getErrorMessage(error), group, this.getErrorStack(error));
121
+ yield this.fatal(this.getErrorMessage(error), this.getErrorStack(error));
120
122
  });
121
123
  }
122
124
  getErrorMessage(error) {
@@ -134,4 +136,5 @@ class Logger {
134
136
  }
135
137
  }
136
138
  exports.Logger = Logger;
139
+ Logger.main = null;
137
140
  //# sourceMappingURL=Logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { IStream } from "./IStream";
2
2
  import { Log } from "./Log";
3
3
  export declare class StreamConsole implements IStream {
4
- write(log: Log, formated: string[]): Promise<void>;
4
+ write(log: Log, formated: {
5
+ pre: string[];
6
+ messages: string[];
7
+ post: string[];
8
+ }): Promise<void>;
5
9
  }
@@ -10,40 +10,34 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.StreamConsole = void 0;
13
+ const namirasoft_core_1 = require("namirasoft-core");
13
14
  const LogLevel_1 = require("./LogLevel");
14
15
  class StreamConsole {
15
16
  write(log, formated) {
16
17
  return __awaiter(this, void 0, void 0, function* () {
17
- const colors = {
18
- reset: '\x1b[0m',
19
- red: '\x1b[31m',
20
- green: '\x1b[32m',
21
- yellow: '\x1b[33m',
22
- blue: '\x1b[34m',
23
- magenta: '\x1b[35m',
24
- cyan: '\x1b[36m',
25
- white: '\x1b[37m',
26
- };
27
- formated.forEach(f => {
18
+ let writter = (data) => {
28
19
  if (log.level == LogLevel_1.LogLevel.Trace)
29
- console.trace(colors.blue + f + colors.reset);
20
+ namirasoft_core_1.ConsoleOperation.trace(data);
30
21
  else if (log.level == LogLevel_1.LogLevel.Verbose)
31
- console.log(colors.cyan + f + colors.reset);
22
+ namirasoft_core_1.ConsoleOperation.log(data);
32
23
  else if (log.level == LogLevel_1.LogLevel.Debug)
33
- console.debug(colors.magenta + f + colors.reset);
24
+ namirasoft_core_1.ConsoleOperation.debug(data);
34
25
  else if (log.level == LogLevel_1.LogLevel.Info)
35
- console.info(colors.green + f + colors.reset);
26
+ namirasoft_core_1.ConsoleOperation.info(data);
36
27
  else if (log.level == LogLevel_1.LogLevel.Warning)
37
- console.warn(colors.yellow + f + colors.reset);
28
+ namirasoft_core_1.ConsoleOperation.warning(data);
38
29
  else if (log.level == LogLevel_1.LogLevel.Error)
39
- console.error(colors.red + f + colors.reset);
30
+ namirasoft_core_1.ConsoleOperation.error(data);
40
31
  else if (log.level == LogLevel_1.LogLevel.Critical)
41
- console.error(colors.red + f + colors.reset);
32
+ namirasoft_core_1.ConsoleOperation.error(data);
42
33
  else if (log.level == LogLevel_1.LogLevel.Fatal)
43
- console.error(colors.red + f + colors.reset);
34
+ namirasoft_core_1.ConsoleOperation.error(data);
44
35
  else
45
- console.log(colors.white + f + colors.reset);
46
- });
36
+ namirasoft_core_1.ConsoleOperation.log(data);
37
+ };
38
+ formated.pre.forEach(f => namirasoft_core_1.ConsoleOperation.log(f));
39
+ formated.messages.forEach(f => writter(f));
40
+ formated.post.forEach(f => namirasoft_core_1.ConsoleOperation.log(f));
47
41
  });
48
42
  }
49
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StreamConsole.js","sourceRoot":"","sources":["../src/StreamConsole.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yCAAsC;AAEtC,MAAa,aAAa;IAEhB,KAAK,CAAC,GAAQ,EAAE,QAAkB;;YAEpC,MAAM,MAAM,GAAG;gBACX,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,UAAU;aACpB,CAAC;YACF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAEjB,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,KAAK;oBAC3B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC7C,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,OAAO;oBAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC3C,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,KAAK;oBAChC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;qBAChD,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,IAAI;oBAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC7C,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,OAAO;oBAClC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC9C,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,KAAK;oBAChC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC5C,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,QAAQ;oBACnC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC5C,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,KAAK;oBAChC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;;oBAE7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,CAAA;QACN,CAAC;KAAA;CACJ;AApCD,sCAoCC"}
1
+ {"version":3,"file":"StreamConsole.js","sourceRoot":"","sources":["../src/StreamConsole.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAmD;AAGnD,yCAAsC;AAEtC,MAAa,aAAa;IAEhB,KAAK,CAAC,GAAQ,EAAE,QAA+D;;YAEjF,IAAI,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;gBAE3B,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,KAAK;oBAC3B,kCAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC5B,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,OAAO;oBAClC,kCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBAC1B,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,KAAK;oBAChC,kCAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC5B,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,IAAI;oBAC/B,kCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC3B,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,OAAO;oBAClC,kCAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC9B,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,KAAK;oBAChC,kCAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC5B,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,QAAQ;oBACnC,kCAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC5B,IAAI,GAAG,CAAC,KAAK,IAAI,mBAAQ,CAAC,KAAK;oBAChC,kCAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;oBAE7B,kCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,CAAA;YACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,kCAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,kCAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;KAAA;CACJ;AA7BD,sCA6BC"}
@@ -5,9 +5,12 @@ export declare class StreamFile implements IStream {
5
5
  private basePath;
6
6
  seprateByDate: boolean;
7
7
  seprateByLevel: boolean;
8
- seprateByGroup: boolean;
9
8
  constructor(basePath?: string);
10
9
  private getPackageName;
11
10
  private getFilePath;
12
- write(log: Log, formated: string[]): Promise<void>;
11
+ write(log: Log, formated: {
12
+ pre: string[];
13
+ messages: string[];
14
+ post: string[];
15
+ }): Promise<void>;
13
16
  }
@@ -39,7 +39,6 @@ class StreamFile {
39
39
  constructor(basePath = "./") {
40
40
  this.seprateByDate = true;
41
41
  this.seprateByLevel = true;
42
- this.seprateByGroup = false;
43
42
  this.basePath = basePath;
44
43
  this.baseName = this.getPackageName();
45
44
  }
@@ -59,9 +58,6 @@ class StreamFile {
59
58
  let names = [this.baseName];
60
59
  if (this.seprateByDate)
61
60
  names.push(log.date.getFullYear() + "-" + (log.date.getMonth() + 1) + "-" + log.date.getDate());
62
- if (this.seprateByGroup)
63
- if (log.group)
64
- names.push(log.group);
65
61
  if (this.seprateByLevel)
66
62
  names.push(log.level + "");
67
63
  names.push(".log");
@@ -71,7 +67,7 @@ class StreamFile {
71
67
  write(log, formated) {
72
68
  return __awaiter(this, void 0, void 0, function* () {
73
69
  let filePath = this.getFilePath(log);
74
- fs.appendFile(filePath, formated.join("\n"), () => { });
70
+ fs.appendFile(filePath, [...formated.pre, ...formated.messages, ...formated.post].join("\n"), () => { });
75
71
  });
76
72
  }
77
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StreamFile.js","sourceRoot":"","sources":["../src/StreamFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAI7B,MAAa,UAAU;IAOnB,YAAY,WAAmB,IAAI;QAHnC,kBAAa,GAAY,IAAI,CAAC;QAC9B,mBAAc,GAAY,IAAI,CAAC;QAC/B,mBAAc,GAAY,KAAK,CAAC;QAG5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;IACO,cAAc;QAElB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EACrC;YACI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;SAChD;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAC1B;YACI,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC,IAAI,CAAC;SACnB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IACO,WAAW,CAAC,GAAQ;QAExB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,aAAa;YAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,IAAI,IAAI,CAAC,cAAc;YACnB,IAAI,GAAG,CAAC,KAAK;gBACT,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,cAAc;YACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IACK,KAAK,CAAC,GAAQ,EAAE,QAAkB;;YAEpC,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;KAAA;CACJ;AA9CD,gCA8CC"}
1
+ {"version":3,"file":"StreamFile.js","sourceRoot":"","sources":["../src/StreamFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAI7B,MAAa,UAAU;IAMnB,YAAY,WAAmB,IAAI;QAFnC,kBAAa,GAAY,IAAI,CAAC;QAC9B,mBAAc,GAAY,IAAI,CAAC;QAG3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;IACO,cAAc;QAElB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EACrC;YACI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;SAChD;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAC1B;YACI,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC,IAAI,CAAC;SACnB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IACO,WAAW,CAAC,GAAQ;QAExB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,aAAa;YAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,IAAI,IAAI,CAAC,cAAc;YACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IACK,KAAK,CAAC,GAAQ,EAAE,QAA+D;;YAEjF,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7G,CAAC;KAAA;CACJ;AA1CD,gCA0CC"}
@@ -3,5 +3,9 @@ import { Log } from "./Log";
3
3
  export declare class StreamNamirasoftLog implements IStream {
4
4
  token: string;
5
5
  constructor(token: string);
6
- write(_: Log, __: string[]): Promise<void>;
6
+ write(_: Log, __: {
7
+ pre: string[];
8
+ messages: string[];
9
+ post: string[];
10
+ }): Promise<void>;
7
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StreamNamirasoftLog.js","sourceRoot":"","sources":["../src/StreamNamirasoftLog.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAAa,mBAAmB;IAG5B,YAAY,KAAa;QAErB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACK,KAAK,CAAC,CAAM,EAAE,EAAY;;QAEhC,CAAC;KAAA;CACJ;AAVD,kDAUC"}
1
+ {"version":3,"file":"StreamNamirasoftLog.js","sourceRoot":"","sources":["../src/StreamNamirasoftLog.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAAa,mBAAmB;IAG5B,YAAY,KAAa;QAErB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACK,KAAK,CAAC,CAAM,EAAE,EAAyD;;QAE7E,CAAC;KAAA;CACJ;AAVD,kDAUC"}
package/package.json CHANGED
@@ -8,13 +8,16 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.3.1",
11
+ "version": "1.3.3",
12
12
  "main": "./dist/index.js",
13
13
  "types": "./dist/index.d.ts",
14
14
  "author": "Amir Abolhasani",
15
15
  "license": "MIT",
16
- "scripts": {},
16
+ "scripts": {
17
+ "build": ""
18
+ },
17
19
  "dependencies": {
18
- "@types/node": "^20.11.30"
20
+ "@types/node": "^20.11.30",
21
+ "namirasoft-core": "^1.3.14"
19
22
  }
20
23
  }
@@ -25,4 +25,13 @@ export abstract class BaseFormatter
25
25
  text = text.padEnd(size, filler);
26
26
  return text;
27
27
  }
28
+ protected getMesssages(messages: any[])
29
+ {
30
+ return messages.map(x =>
31
+ {
32
+ if (typeof (x) == "object")
33
+ return JSON.stringify(x);
34
+ return x;
35
+ });
36
+ }
28
37
  }
@@ -5,18 +5,21 @@ import { LogLevel } from "./LogLevel";
5
5
 
6
6
  export class FormatterFull extends BaseFormatter implements IFormatter
7
7
  {
8
- async format(log: Log): Promise<string[]>
8
+ async format(log: Log): Promise<{ pre: string[], messages: string[], post: string[] }>
9
9
  {
10
- let ans: string[] = [];
11
- ans.push(this.qoute(this.formatDateTime(log.date), 100, '-'));
12
- ans.push("Level: " + LogLevel[log.level]);
13
- if (log.group)
14
- ans.push("Group: " + log.group);
15
- ans.push("Message: " + log.message);
16
- if (log.stack)
17
- ans.push("Stack: " + log.stack);
18
- ans.push(this.qoute("", 100, '-'));
19
- ans.push("");
20
- return ans;
10
+ let pre: string[] = [];
11
+ let messages: string[] = [];
12
+ let post: string[] = [];
13
+ pre.push(this.qoute(this.formatDateTime(log.date), 100, '-'));
14
+ pre.push("Level: " + LogLevel[log.level]);
15
+ messages.push(...log.messages.map(x =>
16
+ {
17
+ if (typeof (x) == "object")
18
+ return JSON.stringify(x);
19
+ return x;
20
+ }));
21
+ post.push(this.qoute("", 100, '-'));
22
+ post.push("");
23
+ return { pre, messages, post };
21
24
  }
22
25
  }
@@ -4,12 +4,10 @@ import { Log } from "./Log";
4
4
 
5
5
  export class FormatterShort extends BaseFormatter implements IFormatter
6
6
  {
7
- async format(log: Log): Promise<string[]>
7
+ async format(log: Log): Promise<{ pre: string[], messages: string[], post: string[] }>
8
8
  {
9
9
  let ans: string[] = [];
10
- ans.push(this.formatDateTime(log.date) + ": " + [log.group, log.message].filter(m => m).join(" - "));
11
- if (log.stack)
12
- ans.push(log.stack);
13
- return ans;
10
+ ans.push(this.formatDateTime(log.date) + ": " + this.getMesssages(log.messages).filter(m => m).join(" - "));
11
+ return { pre: [], messages: ans, post: [] };
14
12
  }
15
13
  }
package/src/IFormatter.ts CHANGED
@@ -2,5 +2,5 @@ import { Log } from "./Log";
2
2
 
3
3
  export interface IFormatter
4
4
  {
5
- format(log: Log): Promise<string[]>;
5
+ format(log: Log): Promise<{ pre: string[], messages: string[], post: string[] }>;
6
6
  }
package/src/ILogger.ts CHANGED
@@ -2,16 +2,16 @@ import { LogLevel } from "./LogLevel";
2
2
 
3
3
  export interface ILogger
4
4
  {
5
- log(level: LogLevel, message: string, group?: string, stack?: string): Promise<void>;
6
- trace(message: string, group?: string, stack?: string): Promise<void>;
7
- verbose(message: string, group?: string, stack?: string): Promise<void>;
8
- debug(message: string, group?: string, stack?: string): Promise<void>;
9
- info(message: string, group?: string, stack?: string): Promise<void>;
10
- warning(message: string, group?: string, stack?: string): Promise<void>;
11
- error(message: string, group?: string, stack?: string): Promise<void>;
12
- critical(message: string, group?: string, stack?: string): Promise<void>;
13
- fatal(message: string, group?: string, stack?: string): Promise<void>;
14
- onCatchError(error: Error | unknown, group?: string): Promise<void>;
15
- onCatchCritical(error: Error | unknown, group?: string): Promise<void>;
16
- onCatchFatal(error: Error | unknown, group?: string): Promise<void>;
5
+ log(level: LogLevel, ...messages: any[]): Promise<void>;
6
+ trace(...messages: any[]): Promise<void>;
7
+ verbose(...messages: any[]): Promise<void>;
8
+ debug(...messages: any[]): Promise<void>;
9
+ info(...messages: any[]): Promise<void>;
10
+ warning(...messages: any[]): Promise<void>;
11
+ error(...messages: any[]): Promise<void>;
12
+ critical(...messages: any[]): Promise<void>;
13
+ fatal(...messages: any[]): Promise<void>;
14
+ onCatchError(error: Error | unknown): Promise<void>;
15
+ onCatchCritical(error: Error | unknown): Promise<void>;
16
+ onCatchFatal(error: Error | unknown): Promise<void>;
17
17
  }
package/src/IStream.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Log } from "./Log";
2
2
  export interface IStream
3
3
  {
4
- write(log: Log, formated: string[]): Promise<void>;
4
+ write(log: Log, formated: { pre: string[], messages: string[], post: string[] }): Promise<void>;
5
5
  }
package/src/Log.ts CHANGED
@@ -4,15 +4,11 @@ export class Log
4
4
  {
5
5
  date: Date;
6
6
  level: LogLevel;
7
- group: string;
8
- message: string;
9
- stack: string;
10
- constructor(level: LogLevel, message: string, group?: string, stack?: string)
7
+ messages: any[];
8
+ constructor(level: LogLevel, ...messages: any[])
11
9
  {
12
10
  this.date = new Date();
13
11
  this.level = level;
14
- this.message = message;
15
- this.group = group ?? "";
16
- this.stack = stack ?? "";
12
+ this.messages = messages;
17
13
  }
18
14
  }
package/src/Logger.ts CHANGED
@@ -8,12 +8,15 @@ import { StreamConsole } from "./StreamConsole";
8
8
 
9
9
  export class Logger implements ILogger
10
10
  {
11
+ static main: Logger | null = null;
11
12
  private defaultStream: IStream = new StreamConsole();
12
13
  private formatter?: IFormatter = new FormatterFull();
13
14
  private customFormatter: { [level: string]: IFormatter } = {};
14
15
  private streams: IStream[] = [];
15
16
  constructor()
16
17
  {
18
+ if (Logger.main == null)
19
+ Logger.main = this;
17
20
  this.setFromatter = this.setFromatter.bind(this);
18
21
  this.setCustomFormatter = this.setCustomFormatter.bind(this);
19
22
  this.addStream = this.addStream.bind(this);
@@ -45,10 +48,10 @@ export class Logger implements ILogger
45
48
  {
46
49
  this.streams.push(stream);
47
50
  }
48
- async log(level: LogLevel, message: string, group?: string, stack?: string)
51
+ async log(level: LogLevel, ...messages: any[])
49
52
  {
50
- let log = new Log(level, message, group, stack);
51
- let formatted: string[] = [];
53
+ let log = new Log(level, messages);
54
+ let formatted: { pre: string[], messages: string[], post: string[] } = { pre: [], messages: [], post: [] };
52
55
  let formatter = this.customFormatter[level.toString()] ?? this.formatter;
53
56
  if (formatter)
54
57
  formatted = await formatter.format(log);
@@ -60,49 +63,49 @@ export class Logger implements ILogger
60
63
  await Promise.all(ps);
61
64
  }
62
65
  }
63
- async trace(message: string, group?: string, stack?: string)
66
+ async trace(...messages: any[])
64
67
  {
65
- await this.log(LogLevel.Trace, message, group, stack);
68
+ await this.log(LogLevel.Trace, ...messages);
66
69
  }
67
- async verbose(message: string, group?: string, stack?: string)
70
+ async verbose(...messages: any[])
68
71
  {
69
- await this.log(LogLevel.Verbose, message, group, stack);
72
+ await this.log(LogLevel.Verbose, ...messages);
70
73
  }
71
- async debug(message: string, group?: string, stack?: string)
74
+ async debug(...messages: any[])
72
75
  {
73
- await this.log(LogLevel.Debug, message, group, stack);
76
+ await this.log(LogLevel.Debug, ...messages);
74
77
  }
75
- async info(message: string, group?: string, stack?: string)
78
+ async info(...messages: any[])
76
79
  {
77
- await this.log(LogLevel.Info, message, group, stack);
80
+ await this.log(LogLevel.Info, ...messages);
78
81
  }
79
- async warning(message: string, group?: string, stack?: string)
82
+ async warning(...messages: any[])
80
83
  {
81
- await this.log(LogLevel.Warning, message, group, stack);
84
+ await this.log(LogLevel.Warning, ...messages);
82
85
  }
83
- async error(message: string, group?: string, stack?: string)
86
+ async error(...messages: any[])
84
87
  {
85
- await this.log(LogLevel.Error, message, group, stack);
88
+ await this.log(LogLevel.Error, ...messages);
86
89
  }
87
- async critical(message: string, group?: string, stack?: string)
90
+ async critical(...messages: any[])
88
91
  {
89
- await this.log(LogLevel.Critical, message, group, stack);
92
+ await this.log(LogLevel.Critical, ...messages);
90
93
  }
91
- async fatal(message: string, group?: string, stack?: string)
94
+ async fatal(...messages: any[])
92
95
  {
93
- await this.log(LogLevel.Fatal, message, group, stack);
96
+ await this.log(LogLevel.Fatal, ...messages);
94
97
  }
95
- async onCatchError(error: Error | unknown, group?: string)
98
+ async onCatchError(error: Error | unknown)
96
99
  {
97
- await this.error(this.getErrorMessage(error), group, this.getErrorStack(error));
100
+ await this.error(this.getErrorMessage(error), this.getErrorStack(error));
98
101
  }
99
- async onCatchCritical(error: Error | unknown, group?: string)
102
+ async onCatchCritical(error: Error | unknown)
100
103
  {
101
- await this.critical(this.getErrorMessage(error), group, this.getErrorStack(error));
104
+ await this.critical(this.getErrorMessage(error), this.getErrorStack(error));
102
105
  }
103
- async onCatchFatal(error: Error | unknown, group?: string)
106
+ async onCatchFatal(error: Error | unknown)
104
107
  {
105
- await this.fatal(this.getErrorMessage(error), group, this.getErrorStack(error));
108
+ await this.fatal(this.getErrorMessage(error), this.getErrorStack(error));
106
109
  }
107
110
  protected getErrorMessage(error: Error | unknown): string
108
111
  {
@@ -1,41 +1,35 @@
1
+ import { ConsoleOperation } from "namirasoft-core";
1
2
  import { IStream } from "./IStream";
2
3
  import { Log } from "./Log";
3
4
  import { LogLevel } from './LogLevel';
4
5
 
5
6
  export class StreamConsole implements IStream
6
7
  {
7
- async write(log: Log, formated: string[]): Promise<void>
8
+ async write(log: Log, formated: { pre: string[], messages: string[], post: string[] }): Promise<void>
8
9
  {
9
- const colors = {
10
- reset: '\x1b[0m',
11
- red: '\x1b[31m',
12
- green: '\x1b[32m',
13
- yellow: '\x1b[33m',
14
- blue: '\x1b[34m',
15
- magenta: '\x1b[35m',
16
- cyan: '\x1b[36m',
17
- white: '\x1b[37m',
18
- };
19
- formated.forEach(f =>
10
+ let writter = (data: string) =>
20
11
  {
21
12
  if (log.level == LogLevel.Trace)
22
- console.trace(colors.blue + f + colors.reset);
13
+ ConsoleOperation.trace(data);
23
14
  else if (log.level == LogLevel.Verbose)
24
- console.log(colors.cyan + f + colors.reset);
15
+ ConsoleOperation.log(data);
25
16
  else if (log.level == LogLevel.Debug)
26
- console.debug(colors.magenta + f + colors.reset);
17
+ ConsoleOperation.debug(data);
27
18
  else if (log.level == LogLevel.Info)
28
- console.info(colors.green + f + colors.reset);
19
+ ConsoleOperation.info(data);
29
20
  else if (log.level == LogLevel.Warning)
30
- console.warn(colors.yellow + f + colors.reset);
21
+ ConsoleOperation.warning(data);
31
22
  else if (log.level == LogLevel.Error)
32
- console.error(colors.red + f + colors.reset);
23
+ ConsoleOperation.error(data);
33
24
  else if (log.level == LogLevel.Critical)
34
- console.error(colors.red + f + colors.reset);
25
+ ConsoleOperation.error(data);
35
26
  else if (log.level == LogLevel.Fatal)
36
- console.error(colors.red + f + colors.reset);
27
+ ConsoleOperation.error(data);
37
28
  else
38
- console.log(colors.white + f + colors.reset);
39
- })
29
+ ConsoleOperation.log(data);
30
+ }
31
+ formated.pre.forEach(f => ConsoleOperation.log(f));
32
+ formated.messages.forEach(f => writter(f));
33
+ formated.post.forEach(f => ConsoleOperation.log(f));
40
34
  }
41
35
  }
package/src/StreamFile.ts CHANGED
@@ -9,7 +9,6 @@ export class StreamFile implements IStream
9
9
  private basePath: string;
10
10
  seprateByDate: boolean = true;
11
11
  seprateByLevel: boolean = true;
12
- seprateByGroup: boolean = false;
13
12
  constructor(basePath: string = "./")
14
13
  {
15
14
  this.basePath = basePath;
@@ -35,18 +34,15 @@ export class StreamFile implements IStream
35
34
  let names = [this.baseName];
36
35
  if (this.seprateByDate)
37
36
  names.push(log.date.getFullYear() + "-" + (log.date.getMonth() + 1) + "-" + log.date.getDate());
38
- if (this.seprateByGroup)
39
- if (log.group)
40
- names.push(log.group);
41
37
  if (this.seprateByLevel)
42
38
  names.push(log.level + "");
43
39
  names.push(".log");
44
40
  let name = names.join("-");
45
41
  return path.resolve(this.basePath, name);
46
42
  }
47
- async write(log: Log, formated: string[]): Promise<void>
43
+ async write(log: Log, formated: { pre: string[], messages: string[], post: string[] }): Promise<void>
48
44
  {
49
45
  let filePath = this.getFilePath(log);
50
- fs.appendFile(filePath, formated.join("\n"), () => { });
46
+ fs.appendFile(filePath, [...formated.pre, ...formated.messages, ...formated.post].join("\n"), () => { });
51
47
  }
52
48
  }
@@ -8,7 +8,7 @@ export class StreamNamirasoftLog implements IStream
8
8
  {
9
9
  this.token = token;
10
10
  }
11
- async write(_: Log, __: string[]): Promise<void>
11
+ async write(_: Log, __: { pre: string[], messages: string[], post: string[] }): Promise<void>
12
12
  {
13
13
  }
14
14
  }
package/tsconfig.json CHANGED
@@ -26,7 +26,7 @@
26
26
  "forceConsistentCasingInFileNames": true,
27
27
  "noFallthroughCasesInSwitch": true,
28
28
  "isolatedModules": false,
29
- "removeComments": true,
29
+ "removeComments": true
30
30
  },
31
31
  "include": [
32
32
  "src",