@spinajs/log 1.0.7 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/lib/decorators.d.ts +6 -0
  2. package/lib/decorators.js +37 -0
  3. package/lib/decorators.js.map +1 -0
  4. package/lib/index.d.ts +5 -227
  5. package/lib/index.js +14 -192
  6. package/lib/index.js.map +1 -1
  7. package/lib/log.d.ts +71 -0
  8. package/lib/log.js +235 -0
  9. package/lib/log.js.map +1 -0
  10. package/lib/targets/BlackHoleTarget.d.ts +8 -0
  11. package/lib/targets/BlackHoleTarget.js +25 -0
  12. package/lib/targets/BlackHoleTarget.js.map +1 -0
  13. package/lib/targets/ColoredConsoleTarget.d.ts +41 -0
  14. package/lib/targets/ColoredConsoleTarget.js +46 -0
  15. package/lib/targets/ColoredConsoleTarget.js.map +1 -0
  16. package/lib/targets/FileTarget.d.ts +24 -0
  17. package/lib/targets/FileTarget.js +193 -0
  18. package/lib/targets/FileTarget.js.map +1 -0
  19. package/lib/targets/LogTarget.d.ts +14 -0
  20. package/lib/targets/LogTarget.js +79 -0
  21. package/lib/targets/LogTarget.js.map +1 -0
  22. package/lib/targets/index.d.ts +3 -0
  23. package/lib/targets/index.js +16 -0
  24. package/lib/targets/index.js.map +1 -0
  25. package/lib/types.d.ts +145 -0
  26. package/lib/types.js +38 -0
  27. package/lib/types.js.map +1 -0
  28. package/lib/variables/date.d.ts +17 -0
  29. package/lib/variables/date.js +62 -0
  30. package/lib/variables/date.js.map +1 -0
  31. package/lib/variables/env.d.ts +5 -0
  32. package/lib/variables/env.js +25 -0
  33. package/lib/variables/env.js.map +1 -0
  34. package/lib/variables/index.d.ts +3 -0
  35. package/lib/variables/index.js +16 -0
  36. package/lib/variables/index.js.map +1 -0
  37. package/lib/variables/process.d.ts +6 -0
  38. package/lib/variables/process.js +36 -0
  39. package/lib/variables/process.js.map +1 -0
  40. package/package.json +21 -8
  41. package/yarn-error.log +2383 -0
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.LogTarget = void 0;
16
+ const di_1 = require("@spinajs/di");
17
+ const lodash_1 = __importDefault(require("lodash"));
18
+ const types_1 = require("../types");
19
+ let LogTarget = class LogTarget extends di_1.SyncModule {
20
+ constructor(Variables, options) {
21
+ super();
22
+ this.Variables = Variables;
23
+ this.HasError = false;
24
+ this.Error = null;
25
+ this.VariablesDictionary = new Map();
26
+ this.Variables.forEach(v => {
27
+ this.VariablesDictionary.set(v.Name, v);
28
+ });
29
+ this.LayoutRegexp = /\{((.*?)(:(.*?))?)\}/gm;
30
+ if (options) {
31
+ this.Options = lodash_1.default.merge(lodash_1.default.merge(this.Options, {
32
+ enabled: true,
33
+ layout: "{datetime} {level} {message} {error} ({logger})"
34
+ }), options);
35
+ }
36
+ }
37
+ format(customVars, layout) {
38
+ const self = this;
39
+ if (customVars.message) {
40
+ return _format(Object.assign(Object.assign({}, customVars), { message: _format(customVars, customVars.message) }), layout);
41
+ }
42
+ return _format(customVars, layout);
43
+ function _format(vars, txt) {
44
+ self.LayoutRegexp.lastIndex = 0;
45
+ const varMatch = [...txt.matchAll(self.LayoutRegexp)];
46
+ if (!varMatch) {
47
+ return "";
48
+ }
49
+ let result = txt;
50
+ varMatch.forEach(v => {
51
+ if (vars[v[2]]) {
52
+ result = result.replace(v[0], vars[v[2]]);
53
+ }
54
+ else {
55
+ const variable = self.VariablesDictionary.get(v[2]);
56
+ if (variable) {
57
+ // optional parameter eg. {env:PORT}
58
+ if (v[3]) {
59
+ result = result.replace(v[0], variable.Value(v[4]));
60
+ }
61
+ else {
62
+ result = result.replace(v[0], variable.Value());
63
+ }
64
+ }
65
+ else {
66
+ result = result.replace(v[0], "");
67
+ }
68
+ }
69
+ });
70
+ return result;
71
+ }
72
+ }
73
+ };
74
+ LogTarget = __decorate([
75
+ (0, di_1.Inject)(Array.ofType(types_1.LogVariable)),
76
+ __metadata("design:paramtypes", [Array, Object])
77
+ ], LogTarget);
78
+ exports.LogTarget = LogTarget;
79
+ //# sourceMappingURL=LogTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogTarget.js","sourceRoot":"","sources":["../../src/targets/LogTarget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./ColoredConsoleTarget";
2
+ export * from "./FileTarget";
3
+ export * from "./LogTarget";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./ColoredConsoleTarget"), exports);
14
+ __exportStar(require("./FileTarget"), exports);
15
+ __exportStar(require("./LogTarget"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/targets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAuC;AACvC,+CAA6B;AAC7B,8CAA4B"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,145 @@
1
+ export declare enum LogLevel {
2
+ Security = 999,
3
+ Fatal = 6,
4
+ Error = 5,
5
+ Warn = 4,
6
+ Success = 3,
7
+ Info = 2,
8
+ Debug = 1,
9
+ Trace = 0
10
+ }
11
+ export declare const StrToLogLevel: {
12
+ trace: LogLevel;
13
+ debug: LogLevel;
14
+ info: LogLevel;
15
+ success: LogLevel;
16
+ warn: LogLevel;
17
+ error: LogLevel;
18
+ fatal: LogLevel;
19
+ security: LogLevel;
20
+ };
21
+ export declare const LogLevelStrings: {
22
+ 1: string;
23
+ 5: string;
24
+ 6: string;
25
+ 2: string;
26
+ 999: string;
27
+ 3: string;
28
+ 0: string;
29
+ 4: string;
30
+ };
31
+ export declare abstract class LogVariable {
32
+ abstract get Name(): string;
33
+ abstract Value(option?: string): string;
34
+ }
35
+ export interface ILogRule {
36
+ name: string;
37
+ level: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "security" | "success";
38
+ target: string | string[];
39
+ }
40
+ export interface ITargetsOption {
41
+ name: string;
42
+ type: string;
43
+ options: ICommonTargetOptions;
44
+ }
45
+ export interface ILogOptions {
46
+ targets: ITargetsOption[];
47
+ rules: ILogRule[];
48
+ variables: {};
49
+ }
50
+ export interface ICommonTargetOptions {
51
+ /**
52
+ * Message layout. You can use variables
53
+ *
54
+ * Default message layout is: {datetime} {level} {message} ({logger})
55
+ */
56
+ layout: string;
57
+ /**
58
+ * Target name
59
+ */
60
+ name: string;
61
+ /**
62
+ * Target type
63
+ */
64
+ type: string;
65
+ /**
66
+ * Is logger enabled
67
+ */
68
+ enabled: boolean;
69
+ }
70
+ export interface IBlackHoleTargetOptions extends ICommonTargetOptions {
71
+ }
72
+ export interface IColoredConsoleTargetOptions extends ICommonTargetOptions {
73
+ /**
74
+ * Color theme for console message. Best leave it for default.
75
+ */
76
+ theme: {
77
+ security: string | string[];
78
+ fatal: string | string[];
79
+ error: string | string[];
80
+ warn: string | string[];
81
+ success: string | string[];
82
+ info: string | string[];
83
+ debug: string | string[];
84
+ trace: string | string[];
85
+ };
86
+ }
87
+ export interface IFileTargetOptions extends ICommonTargetOptions {
88
+ options: {
89
+ /**
90
+ * path whre log is stored. It is allowed to use variables to create path eg. date / time etc.
91
+ */
92
+ path: string;
93
+ /**
94
+ * Archive path for logs eg. when size is exceeded. Is is allowed to use variables eg. date / time etc.
95
+ *
96
+ * Default is none. When not set archive files are stored in same folder as logs.
97
+ */
98
+ archivePath: string;
99
+ /**
100
+ * Maximum log file size, if exceeded it is moved to archive, and new log file is created
101
+ *
102
+ * Default is 1mb
103
+ */
104
+ maxSize: number;
105
+ /**
106
+ * Should compress log file when moved to archive
107
+ *
108
+ * Default is false
109
+ */
110
+ compress: boolean;
111
+ /**
112
+ * Should rotate log file eg. new file every new day.
113
+ * You should use cron like definition eg. at 1am every day: 0 1 * * *
114
+ * When rotate event occurs, old file is moved to archive, and new one is created
115
+ *
116
+ * Default is not set
117
+ */
118
+ rotate: string;
119
+ /**
120
+ * How mutch archive files should be preserved before deletion. Default is 0
121
+ * Eg. to store max 5 archive files, set it to 5. Oldest by modification time are deleted.
122
+ */
123
+ maxArchiveFiles: number;
124
+ /**
125
+ * Buffer size for incoming log messages. Messages are stored in buffer before write to file.
126
+ *
127
+ * Default is 8kb
128
+ */
129
+ bufferSize: number;
130
+ /**
131
+ * Time in ms after whitch flush will be forced. If set to 0 feature is disabled ( any data hangin in temp buffer will not be saved before it reaches bufferSize)
132
+ * Default time is 10s.
133
+ */
134
+ flushTimeout: number;
135
+ };
136
+ }
137
+ export interface ILogTargetData {
138
+ Level: LogLevel;
139
+ Variables: {
140
+ error: Error | undefined;
141
+ level: string;
142
+ logger: string;
143
+ message: string;
144
+ };
145
+ }
package/lib/types.js ADDED
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogVariable = exports.LogLevelStrings = exports.StrToLogLevel = exports.LogLevel = void 0;
4
+ var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel[LogLevel["Security"] = 999] = "Security";
7
+ LogLevel[LogLevel["Fatal"] = 6] = "Fatal";
8
+ LogLevel[LogLevel["Error"] = 5] = "Error";
9
+ LogLevel[LogLevel["Warn"] = 4] = "Warn";
10
+ LogLevel[LogLevel["Success"] = 3] = "Success";
11
+ LogLevel[LogLevel["Info"] = 2] = "Info";
12
+ LogLevel[LogLevel["Debug"] = 1] = "Debug";
13
+ LogLevel[LogLevel["Trace"] = 0] = "Trace";
14
+ })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
15
+ exports.StrToLogLevel = {
16
+ "trace": LogLevel.Trace,
17
+ "debug": LogLevel.Debug,
18
+ "info": LogLevel.Info,
19
+ "success": LogLevel.Success,
20
+ "warn": LogLevel.Warn,
21
+ "error": LogLevel.Error,
22
+ "fatal": LogLevel.Fatal,
23
+ "security": LogLevel.Security
24
+ };
25
+ exports.LogLevelStrings = {
26
+ [LogLevel.Debug]: "debug",
27
+ [LogLevel.Error]: "error",
28
+ [LogLevel.Fatal]: "fatal",
29
+ [LogLevel.Info]: "info",
30
+ [LogLevel.Security]: "security",
31
+ [LogLevel.Success]: "success",
32
+ [LogLevel.Trace]: "trace",
33
+ [LogLevel.Warn]: "warn",
34
+ };
35
+ class LogVariable {
36
+ }
37
+ exports.LogVariable = LogVariable;
38
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAgBX;AAhBD,WAAY,QAAQ;IAChB,iDAAc,CAAA;IAEd,yCAAS,CAAA;IAET,yCAAS,CAAA;IAET,uCAAQ,CAAA;IAER,6CAAW,CAAA;IAEX,uCAAQ,CAAA;IAER,yCAAS,CAAA;IAET,yCAAS,CAAA;AACb,CAAC,EAhBW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAgBnB;AAEY,QAAA,aAAa,GAAG;IACzB,OAAO,EAAE,QAAQ,CAAC,KAAK;IACvB,OAAO,EAAE,QAAQ,CAAC,KAAK;IACvB,MAAM,EAAE,QAAQ,CAAC,IAAI;IACrB,SAAS,EAAE,QAAQ,CAAC,OAAO;IAC3B,MAAM,EAAE,QAAQ,CAAC,IAAI;IACrB,OAAO,EAAE,QAAQ,CAAC,KAAK;IACvB,OAAO,EAAE,QAAQ,CAAC,KAAK;IACvB,UAAU,EAAE,QAAQ,CAAC,QAAQ;CAChC,CAAA;AAEY,QAAA,eAAe,GAAG;IAC3B,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;CAC1B,CAAC;AAEF,MAAsB,WAAW;CAGhC;AAHD,kCAGC"}
@@ -0,0 +1,17 @@
1
+ import { LogVariable } from "../types";
2
+ export declare class DateTimeLogVariable extends LogVariable {
3
+ get Name(): string;
4
+ Value(option?: string): string;
5
+ }
6
+ export declare class DateLogVariable extends LogVariable {
7
+ protected format?: string;
8
+ constructor(format?: string);
9
+ get Name(): string;
10
+ Value(option?: string): string;
11
+ }
12
+ export declare class TimeLogVariable extends LogVariable {
13
+ protected format?: string;
14
+ constructor(format?: string);
15
+ get Name(): string;
16
+ Value(option?: string): string;
17
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TimeLogVariable = exports.DateLogVariable = exports.DateTimeLogVariable = void 0;
13
+ const di_1 = require("@spinajs/di");
14
+ const luxon_1 = require("luxon");
15
+ const types_1 = require("../types");
16
+ let DateTimeLogVariable = class DateTimeLogVariable extends types_1.LogVariable {
17
+ get Name() {
18
+ return "datetime";
19
+ }
20
+ Value(option) {
21
+ return luxon_1.DateTime.now().toFormat(option !== null && option !== void 0 ? option : "dd/MM/yyyy HH:mm:ss.SSS ZZ");
22
+ }
23
+ };
24
+ DateTimeLogVariable = __decorate([
25
+ (0, di_1.Injectable)(types_1.LogVariable)
26
+ ], DateTimeLogVariable);
27
+ exports.DateTimeLogVariable = DateTimeLogVariable;
28
+ let DateLogVariable = class DateLogVariable extends types_1.LogVariable {
29
+ constructor(format) {
30
+ super();
31
+ this.format = format;
32
+ }
33
+ get Name() {
34
+ return "date";
35
+ }
36
+ Value(option) {
37
+ return luxon_1.DateTime.now().toFormat(option !== null && option !== void 0 ? option : "dd/MM/yyyy");
38
+ }
39
+ };
40
+ DateLogVariable = __decorate([
41
+ (0, di_1.Injectable)(types_1.LogVariable),
42
+ __metadata("design:paramtypes", [String])
43
+ ], DateLogVariable);
44
+ exports.DateLogVariable = DateLogVariable;
45
+ let TimeLogVariable = class TimeLogVariable extends types_1.LogVariable {
46
+ constructor(format) {
47
+ super();
48
+ this.format = format;
49
+ }
50
+ get Name() {
51
+ return "time";
52
+ }
53
+ Value(option) {
54
+ return luxon_1.DateTime.now().toFormat(option !== null && option !== void 0 ? option : "HH:mm:ss.SSS");
55
+ }
56
+ };
57
+ TimeLogVariable = __decorate([
58
+ (0, di_1.Injectable)(types_1.LogVariable),
59
+ __metadata("design:paramtypes", [String])
60
+ ], TimeLogVariable);
61
+ exports.TimeLogVariable = TimeLogVariable;
62
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/variables/date.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAyC;AACzC,iCAAiC;AACjC,oCAAuC;AAIvC,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,mBAAW;IAChD,IAAW,IAAI;QACX,OAAO,UAAU,CAAC;IACtB,CAAC;IACM,KAAK,CAAC,MAAe;QACxB,OAAO,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,4BAA4B,CAAC,CAAC;IAC3E,CAAC;CAEJ,CAAA;AARY,mBAAmB;IAD/B,IAAA,eAAU,EAAC,mBAAW,CAAC;GACX,mBAAmB,CAQ/B;AARY,kDAAmB;AAYhC,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,mBAAW;IAE5C,YAAsB,MAAe;QACjC,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAS;IAErC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IACM,KAAK,CAAC,MAAe;QACxB,OAAO,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,YAAY,CAAC,CAAC;IAC3D,CAAC;CAGJ,CAAA;AAdY,eAAe;IAD3B,IAAA,eAAU,EAAC,mBAAW,CAAC;;GACX,eAAe,CAc3B;AAdY,0CAAe;AAkB5B,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,mBAAW;IAE5C,YAAsB,MAAe;QACjC,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAS;IAErC,CAAC;IAED,IAAW,IAAI;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IACM,KAAK,CAAC,MAAe;QACxB,OAAO,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,cAAc,CAAC,CAAC;IAC7D,CAAC;CAGJ,CAAA;AAdY,eAAe;IAD3B,IAAA,eAAU,EAAC,mBAAW,CAAC;;GACX,eAAe,CAc3B;AAdY,0CAAe"}
@@ -0,0 +1,5 @@
1
+ import { LogVariable } from "../types";
2
+ export declare class EnvVariable extends LogVariable {
3
+ get Name(): string;
4
+ Value(option: string): string;
5
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.EnvVariable = void 0;
10
+ const di_1 = require("@spinajs/di");
11
+ const types_1 = require("../types");
12
+ let EnvVariable = class EnvVariable extends types_1.LogVariable {
13
+ get Name() {
14
+ return "env";
15
+ }
16
+ Value(option) {
17
+ var _a;
18
+ return (_a = process.env[option]) !== null && _a !== void 0 ? _a : "";
19
+ }
20
+ };
21
+ EnvVariable = __decorate([
22
+ (0, di_1.Injectable)(types_1.LogVariable)
23
+ ], EnvVariable);
24
+ exports.EnvVariable = EnvVariable;
25
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/variables/env.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oCAAyC;AACzC,oCAAuC;AAIvC,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,mBAAW;IACxC,IAAW,IAAI;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;IACM,KAAK,CAAC,MAAc;;QACvB,OAAO,MAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;IACrC,CAAC;CACJ,CAAA;AAPY,WAAW;IADvB,IAAA,eAAU,EAAC,mBAAW,CAAC;GACX,WAAW,CAOvB;AAPY,kCAAW"}
@@ -0,0 +1,3 @@
1
+ export * from "./date";
2
+ export * from "./env";
3
+ export * from "./process";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./date"), exports);
14
+ __exportStar(require("./env"), exports);
15
+ __exportStar(require("./process"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/variables/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuB;AACvB,wCAAsB;AACtB,4CAA0B"}
@@ -0,0 +1,6 @@
1
+ import { LogVariable } from "../types";
2
+ export declare class ProcVariable extends LogVariable {
3
+ protected ALLOWED_PROPS: string[];
4
+ get Name(): string;
5
+ Value(option: string): string;
6
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ProcVariable = void 0;
10
+ const di_1 = require("@spinajs/di");
11
+ const types_1 = require("../types");
12
+ let ProcVariable = class ProcVariable extends types_1.LogVariable {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.ALLOWED_PROPS = [
16
+ "title",
17
+ "version",
18
+ "pid",
19
+ "platform",
20
+ ];
21
+ }
22
+ get Name() {
23
+ return "proc";
24
+ }
25
+ Value(option) {
26
+ if (this.ALLOWED_PROPS.indexOf(option) !== -1) {
27
+ return process[option];
28
+ }
29
+ return `[${option} is undefined]`;
30
+ }
31
+ };
32
+ ProcVariable = __decorate([
33
+ (0, di_1.Injectable)(types_1.LogVariable)
34
+ ], ProcVariable);
35
+ exports.ProcVariable = ProcVariable;
36
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/variables/process.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oCAAyC;AACzC,oCAAuC;AAIvC,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,mBAAW;IAA7C;;QAEc,kBAAa,GAAG;YACtB,OAAO;YACP,SAAS;YACT,KAAK;YACL,UAAU;SAEb,CAAA;IAaL,CAAC;IAZG,IAAW,IAAI;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IACM,KAAK,CAAC,MAAc;QAEvB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YAC3C,OAAQ,OAAe,CAAC,MAAM,CAAC,CAAC;SACnC;QAED,OAAO,IAAI,MAAM,gBAAgB,CAAC;IACtC,CAAC;CAEJ,CAAA;AArBY,YAAY;IADxB,IAAA,eAAU,EAAC,mBAAW,CAAC;GACX,YAAY,CAqBxB;AArBY,oCAAY"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spinajs/log",
3
- "version": "1.0.7",
3
+ "version": "1.1.0",
4
4
  "description": "Log lib for all spinejs related libs",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -9,6 +9,7 @@
9
9
  "coverage": "nyc npm run test",
10
10
  "build-docs": "rimraf docs && typedoc --options typedoc.json src/",
11
11
  "build": "tsc",
12
+ "build-watch": "tsc -w",
12
13
  "prepare": "npm run build",
13
14
  "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
14
15
  "lint": "tslint -p tsconfig.json",
@@ -24,26 +25,38 @@
24
25
  },
25
26
  "homepage": "https://github.com/spinajs/log#readme",
26
27
  "dependencies": {
27
- "@spinajs/configuration": "^1.0.9",
28
- "@spinajs/di": "^1.0.16",
29
- "@spinajs/exceptions": "^1.0.3",
30
- "bunyan": "^1.8.12",
31
- "chalk": "^3.0.0",
32
- "lodash": "^4.17.14"
28
+ "@spinajs/configuration": "^1.1.2",
29
+ "@spinajs/di": "^1.1.7",
30
+ "@spinajs/exceptions": "^1.0.5",
31
+ "@spinajs/validation": "^1.0.2",
32
+ "colors": "^1.4.0",
33
+ "glob": "^7.2.0",
34
+ "glob-to-regexp": "^0.4.1",
35
+ "lodash": "^4.17.14",
36
+ "luxon": "^2.3.0",
37
+ "node-schedule": "^2.1.0"
33
38
  },
34
39
  "devDependencies": {
35
40
  "@types/bunyan": "^1.8.6",
36
41
  "@types/chai": "^4.1.7",
37
42
  "@types/chai-as-promised": "^7.1.0",
38
43
  "@types/chai-subset": "^1.3.3",
44
+ "@types/colors": "^1.2.1",
45
+ "@types/glob": "^7.2.0",
46
+ "@types/glob-to-regexp": "^0.4.1",
39
47
  "@types/lodash": "^4.14.136",
48
+ "@types/luxon": "^2.0.8",
40
49
  "@types/mocha": "^5.2.7",
50
+ "@types/node": "^17.0.8",
51
+ "@types/node-schedule": "^1.3.2",
52
+ "@types/sinon": "^10.0.6",
41
53
  "chai": "^4.2.0",
42
54
  "chai-as-promised": "^7.1.1",
43
55
  "chai-subset": "^1.6.0",
44
56
  "mocha": "^6.1.4",
45
57
  "nyc": "^14.1.1",
46
58
  "prettier": "^1.18.2",
59
+ "sinon": "^12.0.1",
47
60
  "ts-mocha": "^6.0.0",
48
61
  "ts-node": "^8.3.0",
49
62
  "tslint": "^5.20.1",
@@ -52,6 +65,6 @@
52
65
  "tslint-config-standard": "^8.0.1",
53
66
  "tslint-no-unused-expression-chai": "^0.1.4",
54
67
  "typedoc": "^0.14.2",
55
- "typescript": "^3.5.3"
68
+ "typescript": "^4.2.3"
56
69
  }
57
70
  }