@spinajs/log 2.0.39 → 2.0.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/bootstrap.js CHANGED
@@ -10,36 +10,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.LogBotstrapper = void 0;
13
- const FileTarget_1 = require("./targets/FileTarget");
14
13
  const di_1 = require("@spinajs/di");
15
14
  const log_1 = require("./log");
16
15
  const log_configuration_1 = __importDefault(require("./schemas/log.configuration"));
17
16
  let LogBotstrapper = class LogBotstrapper extends di_1.Bootstrapper {
18
17
  bootstrap() {
19
18
  di_1.DI.register(log_configuration_1.default).asValue("__configurationSchema__");
20
- // register factory for file target,
21
- // becouse we want to create target
22
- // only one per target not one for every logger
23
- di_1.DI.register((container, options) => {
24
- var _a;
25
- const fileTargets = (_a = container.get(Array.ofType("__log_file_targets__"))) !== null && _a !== void 0 ? _a : [];
26
- let target = fileTargets.find((t) => t.Options.name === options.name);
27
- if (!target) {
28
- target = container.resolve("__file_target_implementation__", [options]);
29
- container.register(target).asValue("__log_file_targets__");
30
- return target;
31
- }
32
- return target;
33
- }).as("FileTarget");
34
- di_1.DI.register(FileTarget_1.FileTarget).as("__file_target_implementation__");
35
- process.on("uncaughtException", (err) => {
36
- const log = di_1.DI.resolve(log_1.Log, ["process"]);
37
- log.fatal(err, "Unhandled exception occured");
38
- });
39
- process.on("unhandledRejection", (reason, p) => {
40
- const log = di_1.DI.resolve(log_1.Log, ["process"]);
41
- log.fatal(reason, "Unhandled rejection at Promise %s", p);
42
- });
19
+ // check if we run tests,
20
+ // hook for uncaughtException causes to not showing
21
+ // mocha errors in console
22
+ if (!process.env.TESTING) {
23
+ process.on("uncaughtException", (err) => {
24
+ const log = di_1.DI.resolve(log_1.Log, ["process"]);
25
+ log.fatal(err, "Unhandled exception occured");
26
+ });
27
+ process.on("unhandledRejection", (reason, p) => {
28
+ const log = di_1.DI.resolve(log_1.Log, ["process"]);
29
+ log.fatal(reason, "Unhandled rejection at Promise %s", p);
30
+ });
31
+ }
43
32
  }
44
33
  };
45
34
  LogBotstrapper = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkD;AAElD,oCAAuE;AACvE,+BAA4B;AAC5B,oFAA+D;AAG/D,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAAY;IACvC,SAAS;QACd,OAAE,CAAC,QAAQ,CAAC,2BAAoB,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAErE,oCAAoC;QACpC,mCAAmC;QACnC,+CAA+C;QAC/C,OAAE,CAAC,QAAQ,CAAC,CAAC,SAAqB,EAAE,OAA2B,EAAE,EAAE;;YACjE,MAAM,WAAW,GAAG,MAAA,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,mCAAI,EAAE,CAAC;YAC9E,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAe,CAAC;YAEhG,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,SAAS,CAAC,OAAO,CAAa,gCAAgC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnF,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAE3D,OAAO,MAAM,CAAC;aACf;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAEpB,OAAE,CAAC,QAAQ,CAAC,uBAAU,CAAC,CAAC,EAAE,CAAC,gCAAgC,CAAC,CAAC;QAE7D,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,OAAE,CAAC,OAAO,CAAC,SAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,GAAG,GAAG,OAAE,CAAC,OAAO,CAAC,SAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,MAAe,EAAE,mCAAmC,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjCY,cAAc;IAD1B,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,cAAc,CAiC1B;AAjCY,wCAAc"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAA2D;AAC3D,+BAA4B;AAC5B,oFAA+D;AAG/D,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAAY;IACvC,SAAS;QACd,OAAE,CAAC,QAAQ,CAAC,2BAAoB,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAErE,yBAAyB;QACzB,mDAAmD;QACnD,0BAA0B;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACxB,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;gBACtC,MAAM,GAAG,GAAG,OAAE,CAAC,OAAO,CAAC,SAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,OAAE,CAAC,OAAO,CAAC,SAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,GAAG,CAAC,KAAK,CAAC,MAAe,EAAE,mCAAmC,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;CACF,CAAA;AAnBY,cAAc;IAD1B,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,cAAc,CAmB1B;AAnBY,wCAAc"}
package/lib/log.js CHANGED
@@ -119,7 +119,7 @@ let Log = Log_1 = class Log extends di_1.SyncService {
119
119
  if (!t.instance) {
120
120
  throw new exceptions_1.InvalidOperation(`Target for rule ${t.rule.name} not exists`);
121
121
  }
122
- t.instance.write(entry);
122
+ return t.instance.write(entry);
123
123
  }));
124
124
  }
125
125
  }
package/lib/log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,29 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- /// <reference types="node" />
4
- import { IFileTargetOptions, ILogEntry, LogTarget } from "@spinajs/log-common";
3
+ import { IInstanceCheck } from "@spinajs/di";
4
+ import { IFileTargetOptions, ILog, ILogEntry, LogTarget } from "@spinajs/log-common";
5
5
  import * as fs from "fs";
6
- import { Job } from "node-schedule";
7
- import { Readable } from "stream";
8
- declare class FileLogStream extends Readable {
9
- protected LogQueue: any[];
10
- push(chunk: any, _encoding?: BufferEncoding): boolean;
11
- _read(): void;
6
+ import "@spinajs/configuration-common";
7
+ declare enum FileTargetStatus {
8
+ WRITTING = 0,
9
+ PENDING = 1,
10
+ IDLE = 2
12
11
  }
13
- export declare class FileTarget extends LogTarget<IFileTargetOptions> {
12
+ export declare class FileTarget extends LogTarget<IFileTargetOptions> implements IInstanceCheck {
13
+ protected Log: ILog;
14
14
  LogDirPath: string;
15
- LogFileName: string;
16
- LogPath: string;
17
- LogFileExt: string;
18
- LogBaseName: string;
19
15
  ArchiveDirPath: string;
20
- protected RotateJob: Job;
21
- protected CurrentFileSize: number;
22
- protected IsArchiving: boolean;
23
16
  protected WriteStream: fs.WriteStream;
24
- protected LogStream: FileLogStream;
25
- resolve(): Promise<void>;
17
+ protected Buffer: string[];
18
+ protected ArchiveTimer: NodeJS.Timer;
19
+ protected FlushTimer: NodeJS.Timer;
20
+ protected Status: FileTargetStatus;
21
+ protected ArchiveStatus: FileTargetStatus;
22
+ __checkInstance__(creationOptions: IFileTargetOptions): boolean;
23
+ resolve(): void;
24
+ protected flush(): void;
25
+ dispose(): Promise<void>;
26
26
  write(data: ILogEntry): Promise<void>;
27
27
  protected archive(): void;
28
- private rotate;
29
- private initialize;
30
- private close;
31
- private open;
32
28
  }
33
29
  export {};
@@ -28,189 +28,222 @@ var __importStar = (this && this.__importStar) || function (mod) {
28
28
  __setModuleDefault(result, mod);
29
29
  return result;
30
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
+ };
31
34
  Object.defineProperty(exports, "__esModule", { value: true });
32
35
  exports.FileTarget = void 0;
36
+ /* eslint-disable security/detect-object-injection */
33
37
  const os_1 = require("os");
34
38
  /* eslint security/detect-non-literal-fs-filename:0 -- Safe as no value holds user input */
35
39
  const di_1 = require("@spinajs/di");
36
40
  const log_common_1 = require("@spinajs/log-common");
37
41
  const fs = __importStar(require("fs"));
38
42
  const path = __importStar(require("path"));
39
- const node_schedule_1 = require("node-schedule");
40
43
  const exceptions_1 = require("@spinajs/exceptions");
41
44
  const glob = __importStar(require("glob"));
42
45
  const zlib = __importStar(require("zlib"));
43
46
  const configuration_1 = require("@spinajs/configuration");
44
47
  const stream_1 = require("stream");
45
- class FileLogStream extends stream_1.Readable {
46
- constructor() {
47
- super(...arguments);
48
- this.LogQueue = [];
49
- }
50
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
- push(chunk, _encoding) {
52
- this.LogQueue.push(chunk);
53
- if (this.LogQueue.length > 10) {
54
- super.push(this.LogQueue.shift());
55
- }
56
- return true;
57
- }
58
- _read() {
59
- let ok = true;
60
- let val = null;
61
- do {
62
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
63
- val = this.LogQueue.shift();
64
- if (val) {
65
- ok = super.push(val);
66
- if (!ok) {
67
- this.LogQueue.unshift(val);
68
- }
69
- }
70
- } while (ok && val);
71
- }
72
- }
48
+ const decorators_1 = require("./../decorators");
49
+ require("@spinajs/configuration-common");
50
+ var FileTargetStatus;
51
+ (function (FileTargetStatus) {
52
+ FileTargetStatus[FileTargetStatus["WRITTING"] = 0] = "WRITTING";
53
+ FileTargetStatus[FileTargetStatus["PENDING"] = 1] = "PENDING";
54
+ FileTargetStatus[FileTargetStatus["IDLE"] = 2] = "IDLE";
55
+ })(FileTargetStatus || (FileTargetStatus = {}));
56
+ // we mark per instance check becouse we can have multiple file targes
57
+ // for different files/paths/logs but we dont want to create every time writer for same.
73
58
  let FileTarget = class FileTarget extends log_common_1.LogTarget {
74
59
  constructor() {
75
60
  super(...arguments);
76
- this.IsArchiving = false;
61
+ this.Buffer = [];
62
+ this.Status = FileTargetStatus.IDLE;
63
+ this.ArchiveStatus = FileTargetStatus.IDLE;
77
64
  }
78
- async resolve() {
65
+ __checkInstance__(creationOptions) {
66
+ return this.Options.name === creationOptions.name;
67
+ }
68
+ resolve() {
79
69
  this.Options.options = Object.assign({
80
70
  compress: true,
81
71
  maxSize: 1024 * 1024,
82
72
  maxArchiveFiles: 5,
73
+ archiveInterval: 3 * 60,
83
74
  }, this.Options.options);
84
- this.LogStream = new FileLogStream();
85
- this.initialize();
86
- this.rotate();
75
+ this.LogDirPath = path.dirname(path.resolve((0, configuration_1.format)(null, this.Options.options.path)));
76
+ this.ArchiveDirPath = this.Options.options.archivePath ? path.resolve((0, configuration_1.format)(null, this.Options.options.archivePath)) : this.LogDirPath;
77
+ if (!this.LogDirPath) {
78
+ throw new exceptions_1.InvalidOption("Missing LogDirPath log option");
79
+ }
80
+ if (!fs.existsSync(this.LogDirPath)) {
81
+ fs.mkdirSync(this.LogDirPath);
82
+ }
83
+ if (this.ArchiveDirPath) {
84
+ if (!fs.existsSync(this.ArchiveDirPath)) {
85
+ fs.mkdirSync(this.ArchiveDirPath);
86
+ }
87
+ }
88
+ // flush all buffered messages at least once per second
89
+ // we do this, becouse buffer can not be filled
90
+ // and we could wait unknown amount of time before messages are written to file
91
+ this.FlushTimer = setInterval(() => {
92
+ // do not flush, if we already writting to file
93
+ if (this.Status !== FileTargetStatus.IDLE && this.ArchiveStatus !== FileTargetStatus.IDLE) {
94
+ return;
95
+ }
96
+ setImmediate(() => {
97
+ this.flush();
98
+ });
99
+ }, 1000);
100
+ // every 3 minutes try to archive log files
101
+ this.ArchiveTimer = setInterval(() => {
102
+ // do not archive if we already doing it
103
+ if (this.Status !== FileTargetStatus.IDLE && this.ArchiveStatus !== FileTargetStatus.IDLE) {
104
+ return;
105
+ }
106
+ this.ArchiveStatus = FileTargetStatus.PENDING;
107
+ // at end of nodejs event loop
108
+ setImmediate(() => {
109
+ this.archive();
110
+ });
111
+ }, this.Options.options.archiveInterval * 1000);
87
112
  super.resolve();
88
113
  }
114
+ flush() {
115
+ if (this.Buffer.length === 0) {
116
+ this.Status = FileTargetStatus.IDLE;
117
+ return;
118
+ }
119
+ this.Status = FileTargetStatus.WRITTING;
120
+ // we calculate log path every time to allow for
121
+ // dynamic path creation eg. based on timestamp
122
+ const logFileName = (0, configuration_1.format)({ logger: this.Options.name }, path.basename(this.Options.options.path));
123
+ const logPath = path.join(this.LogDirPath, logFileName);
124
+ fs.appendFile(logPath, this.Buffer.join(os_1.EOL) + os_1.EOL, (err) => {
125
+ // log error message to others if applicable eg. console
126
+ if (err) {
127
+ this.Log.error(err, `Cannot write log messages to file target at path ${logPath}`);
128
+ }
129
+ this.Log.trace(`Wrote buffered messages to log file at path ${logPath}, buffer size: ${this.Options.options.maxBufferSize}`);
130
+ this.Buffer = [];
131
+ this.Status = FileTargetStatus.IDLE;
132
+ });
133
+ }
134
+ async dispose() {
135
+ // stop archiving
136
+ clearInterval(this.ArchiveTimer);
137
+ // stop flush timer
138
+ clearInterval(this.FlushTimer);
139
+ // write all messages from buffer
140
+ this.flush();
141
+ }
89
142
  async write(data) {
90
143
  if (!this.Options.enabled) {
91
144
  return;
92
145
  }
93
- const lEntry = (0, configuration_1.format)(data.Variables, this.Options.layout) + os_1.EOL;
94
- this.LogStream.push(lEntry);
95
- if (this.WriteStream) {
96
- if (this.CurrentFileSize + this.WriteStream.bytesWritten >= this.Options.options.maxSize && !this.IsArchiving) {
97
- this.archive();
98
- }
146
+ const lEntry = (0, configuration_1.format)(data.Variables, this.Options.layout);
147
+ this.Buffer.push(lEntry);
148
+ // if we already writting, skip buffer check & write to file
149
+ // wait until write is finished
150
+ if (this.Status !== FileTargetStatus.IDLE || this.ArchiveStatus !== FileTargetStatus.IDLE) {
151
+ return;
152
+ }
153
+ if (this.Buffer.length >= this.Options.options.maxBufferSize) {
154
+ this.Status = FileTargetStatus.PENDING;
155
+ // write at end of nodejs event loop all buffered messages at once
156
+ setImmediate(() => {
157
+ this.flush();
158
+ });
99
159
  }
100
160
  }
101
161
  archive() {
102
- this.IsArchiving = true;
103
- const files = glob
104
- .sync(path.join(this.ArchiveDirPath, `archived_${this.LogBaseName}*{${this.LogFileExt},.gzip}`))
162
+ const { ext } = path.parse(path.basename(this.Options.options.path));
163
+ const aFiles = glob
164
+ .sync(path.join(this.ArchiveDirPath, `archived_*{${ext},.gzip}`))
105
165
  .map((f) => {
106
166
  return {
107
167
  name: f,
108
168
  stat: fs.statSync(f),
109
169
  };
110
170
  })
111
- .sort((x) => x.stat.mtime.getTime());
112
- const newestFile = files.length !== 0 ? files[files.length - 1].name : undefined;
113
- const fIndex = newestFile ? parseInt(newestFile.substring(newestFile.lastIndexOf("_") + 1, newestFile.lastIndexOf("_") + 2), 10) + 1 : 1;
114
- const archPath = path.join(this.ArchiveDirPath, `archived_${this.LogBaseName}_${fIndex}${this.LogFileExt}`);
115
- if (!fs.existsSync(this.LogPath)) {
116
- return;
171
+ .sort((a, b) => a.stat.mtime.getTime() - b.stat.mtime.getTime());
172
+ const lFiles = glob
173
+ .sync(path.join(this.LogDirPath, `*${ext}`))
174
+ .map((f) => {
175
+ return {
176
+ name: f,
177
+ stat: fs.statSync(f),
178
+ };
179
+ })
180
+ .sort((a, b) => a.stat.mtime.getTime() - b.stat.mtime.getTime());
181
+ // clear archived files above limit
182
+ if (aFiles.length > this.Options.options.maxArchiveFiles) {
183
+ for (let i = 0; i < aFiles.length - this.Options.options.maxArchiveFiles; i++) {
184
+ fs.unlink(aFiles[i].name, (err) => {
185
+ if (err) {
186
+ this.Log.error(err, `Cannot delete archived file at path ${aFiles[i - 1].name}`);
187
+ }
188
+ else {
189
+ this.Log.info(`Deleted archived file at path ${aFiles[i].name}`);
190
+ }
191
+ });
192
+ }
117
193
  }
118
- this.WriteStream.once("close", () => {
119
- fs.rename(this.LogPath, archPath, (err) => {
120
- this.initialize();
121
- if (!err) {
122
- if (this.Options.options.compress) {
123
- const zippedPath = path.join(this.ArchiveDirPath, `archived_${this.LogBaseName}_${fIndex}${this.LogFileExt}.gzip`);
124
- const zip = zlib.createGzip();
125
- const read = fs.createReadStream(archPath);
126
- const write = fs.createWriteStream(zippedPath);
127
- (0, stream_1.pipeline)(read, zip, write, (err) => {
128
- if (err) {
129
- void this.write((0, log_common_1.createLogMessageObject)(err, `Cannot compress log file at ${this.LogPath}`, log_common_1.LogLevel.Trace, "log-file-target", {}));
130
- fs.unlink(zippedPath, () => {
131
- return;
132
- });
133
- }
134
- fs.unlink(archPath, () => {
194
+ // now move log files that are above limited file size or old
195
+ const filesToArchive = lFiles.filter((x) => {
196
+ return x.stat.size > this.Options.options.maxSize || lFiles.indexOf(x) <= lFiles.length - 2;
197
+ });
198
+ if (filesToArchive.length === 0) {
199
+ this.ArchiveStatus = FileTargetStatus.IDLE;
200
+ }
201
+ for (let i = 0; i < filesToArchive.length; i++) {
202
+ const { name, ext } = path.parse(path.basename(lFiles[i].name));
203
+ // get number of files with same name, eg. during a day, multiple log files can be produced
204
+ const lArchiFiles = glob.sync(path.join(this.ArchiveDirPath, `archived_${name}*{${ext},.gzip}`));
205
+ const archPath = path.join(this.ArchiveDirPath, `archived_${name}_${lArchiFiles.length + 1}${ext}`);
206
+ fs.rename(lFiles[i].name, archPath, (err) => {
207
+ if (err) {
208
+ this.Log.error(err, `Cannot move log file ${name} to archive at path ${archPath}`);
209
+ return;
210
+ }
211
+ if (this.Options.options.compress) {
212
+ this.Log.trace(`Compressing archive log at path ${archPath}`);
213
+ const zippedPath = path.join(this.ArchiveDirPath, `archived_${name}_${lArchiFiles.length + 1}${ext}.gzip`);
214
+ const zip = zlib.createGzip();
215
+ const read = fs.createReadStream(archPath);
216
+ const write = fs.createWriteStream(zippedPath);
217
+ (0, stream_1.pipeline)(read, zip, write, (err) => {
218
+ if (err) {
219
+ this.Log.error(err, `Cannot compress archived file at path ${archPath}`);
220
+ fs.unlink(zippedPath, () => {
135
221
  return;
136
222
  });
137
- });
138
- }
139
- if (files.length >= this.Options.options.maxArchiveFiles) {
140
- fs.unlink(files[0].name, () => {
141
223
  return;
224
+ }
225
+ this.Log.info(`Succesyfully compressed archive log at path ${zippedPath}`);
226
+ fs.unlink(archPath, (err) => {
227
+ if (err) {
228
+ this.Log.error(err, `Cannot delete archived log after compression at path ${archPath}`);
229
+ }
142
230
  });
143
- }
231
+ this.ArchiveStatus = FileTargetStatus.IDLE;
232
+ });
233
+ }
234
+ else {
235
+ this.ArchiveStatus = FileTargetStatus.IDLE;
144
236
  }
145
- });
146
- });
147
- this.close();
148
- }
149
- rotate() {
150
- if (this.Options.options.rotate) {
151
- this.RotateJob = (0, node_schedule_1.scheduleJob)(`LogScheduleJob`, this.Options.options.rotate, () => {
152
- this.archive();
153
237
  });
154
238
  }
155
239
  }
156
- initialize() {
157
- this.CurrentFileSize = 0;
158
- this.IsArchiving = false;
159
- this.LogDirPath = path.dirname(path.resolve((0, configuration_1.format)(null, this.Options.options.path)));
160
- this.ArchiveDirPath = this.Options.options.archivePath ? path.resolve((0, configuration_1.format)(null, this.Options.options.archivePath)) : this.LogDirPath;
161
- this.LogFileName = (0, configuration_1.format)({ logger: this.Options.name }, path.basename(this.Options.options.path));
162
- this.LogPath = path.join(this.LogDirPath, this.LogFileName);
163
- const { name, ext } = path.parse(this.LogFileName);
164
- this.LogFileExt = ext;
165
- this.LogBaseName = name;
166
- if (!this.LogDirPath) {
167
- throw new exceptions_1.InvalidOption("Missing LogDirPath log option");
168
- }
169
- if (!fs.existsSync(this.LogDirPath)) {
170
- fs.mkdirSync(this.LogDirPath);
171
- }
172
- if (this.ArchiveDirPath) {
173
- if (!fs.existsSync(this.ArchiveDirPath)) {
174
- fs.mkdirSync(this.ArchiveDirPath);
175
- }
176
- }
177
- try {
178
- const { size } = fs.statSync(this.LogPath);
179
- this.CurrentFileSize = size;
180
- }
181
- catch (_a) { }
182
- this.open();
183
- }
184
- close() {
185
- this.LogStream.unpipe(this.WriteStream);
186
- this.WriteStream.end();
187
- this.WriteStream = null;
188
- }
189
- open() {
190
- this.WriteStream = fs.createWriteStream(this.LogPath, {
191
- flags: "a",
192
- encoding: "utf-8",
193
- });
194
- this.WriteStream.once("open", () => {
195
- void this.write((0, log_common_1.createLogMessageObject)(`Log file opened at ${this.LogPath}`, [], log_common_1.LogLevel.Trace, "log-file-target", {}));
196
- if (this.WriteStream) {
197
- this.LogStream.pipe(this.WriteStream);
198
- }
199
- });
200
- this.WriteStream.once("close", () => {
201
- void this.write((0, log_common_1.createLogMessageObject)(`Log file closed at ${this.LogPath}`, [], log_common_1.LogLevel.Trace, "log-file-target", {}));
202
- });
203
- this.WriteStream.once("error", (err) => {
204
- this.LogStream.unpipe(this.WriteStream);
205
- void this.write((0, log_common_1.createLogMessageObject)(err, `Cannot write to log file at ${this.LogPath}`, log_common_1.LogLevel.Error, "log-file-target", {}));
206
- setTimeout(() => {
207
- this.initialize();
208
- }, 1000);
209
- });
210
- }
211
240
  };
241
+ __decorate([
242
+ (0, decorators_1.Logger)("LogFileTarget"),
243
+ __metadata("design:type", Object)
244
+ ], FileTarget.prototype, "Log", void 0);
212
245
  FileTarget = __decorate([
213
- (0, di_1.NewInstance)(),
246
+ (0, di_1.PerInstanceCheck)(),
214
247
  (0, di_1.Injectable)("FileTarget")
215
248
  ], FileTarget);
216
249
  exports.FileTarget = FileTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"FileTarget.js","sourceRoot":"","sources":["../../src/targets/FileTarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileTarget.js","sourceRoot":"","sources":["../../src/targets/FileTarget.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spinajs/log",
3
- "version": "2.0.39",
3
+ "version": "2.0.44",
4
4
  "description": "Log lib for all spinejs related libs",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -27,16 +27,16 @@
27
27
  "homepage": "https://github.com/spinajs/log#readme",
28
28
  "dependencies": {
29
29
  "@colors/colors": "^1.5.0",
30
- "@spinajs/configuration": "^2.0.39",
31
- "@spinajs/di": "^2.0.39",
30
+ "@spinajs/configuration": "^2.0.44",
31
+ "@spinajs/di": "^2.0.44",
32
32
  "@spinajs/exceptions": "^2.0.39",
33
- "@spinajs/log-common": "^2.0.39",
33
+ "@spinajs/log-common": "^2.0.44",
34
34
  "ajv": "^8.11.0",
35
35
  "chalk": "4.1.2",
36
36
  "glob": "^7.2.0",
37
37
  "glob-to-regexp": "^0.4.1",
38
38
  "lodash": "^4.17.14",
39
- "luxon": "^2.3.0",
39
+ "luxon": "^3.2.1",
40
40
  "node-schedule": "^2.1.0"
41
41
  },
42
42
  "devDependencies": {
@@ -46,5 +46,5 @@
46
46
  "@types/node-schedule": "^1.3.2",
47
47
  "mock-fs": "^5.1.2"
48
48
  },
49
- "gitHead": "002dc553b0ffffd72193d0121ac425a4083bc9ee"
49
+ "gitHead": "1857a6e3626e0fed22ffb0b44b48d587c79898db"
50
50
  }