@eggjs/logrotator 4.0.0 → 4.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.
- package/README.md +9 -9
- package/README.zh-CN.md +10 -10
- package/dist/commonjs/app/schedule/clean_log.d.ts +1 -1
- package/dist/commonjs/app/schedule/clean_log.js +7 -6
- package/dist/commonjs/app/schedule/rotate_by_file.d.ts +1 -1
- package/dist/commonjs/app/schedule/rotate_by_hour.d.ts +1 -1
- package/dist/commonjs/app/schedule/rotate_by_hour.js +1 -1
- package/dist/commonjs/app/schedule/rotate_by_size.d.ts +1 -1
- package/dist/commonjs/boot.js +1 -1
- package/dist/commonjs/config/config.default.js +2 -2
- package/dist/commonjs/lib/day_rotator.d.ts +1 -1
- package/dist/commonjs/lib/day_rotator.js +11 -9
- package/dist/commonjs/lib/hour_rotator.d.ts +1 -1
- package/dist/commonjs/lib/hour_rotator.js +6 -2
- package/dist/commonjs/lib/rotator.d.ts +1 -1
- package/dist/commonjs/lib/rotator.js +7 -4
- package/dist/commonjs/lib/size_rotator.d.ts +1 -1
- package/dist/commonjs/lib/size_rotator.js +3 -2
- package/dist/commonjs/lib/utils.d.ts +0 -1
- package/dist/commonjs/lib/utils.js +2 -7
- package/dist/esm/app/schedule/clean_log.d.ts +1 -1
- package/dist/esm/app/schedule/clean_log.js +7 -6
- package/dist/esm/app/schedule/rotate_by_file.d.ts +1 -1
- package/dist/esm/app/schedule/rotate_by_hour.d.ts +1 -1
- package/dist/esm/app/schedule/rotate_by_hour.js +1 -1
- package/dist/esm/app/schedule/rotate_by_size.d.ts +1 -1
- package/dist/esm/boot.js +1 -1
- package/dist/esm/config/config.default.js +2 -2
- package/dist/esm/lib/day_rotator.d.ts +1 -1
- package/dist/esm/lib/day_rotator.js +11 -9
- package/dist/esm/lib/hour_rotator.d.ts +1 -1
- package/dist/esm/lib/hour_rotator.js +6 -2
- package/dist/esm/lib/rotator.d.ts +1 -1
- package/dist/esm/lib/rotator.js +7 -4
- package/dist/esm/lib/size_rotator.d.ts +1 -1
- package/dist/esm/lib/size_rotator.js +3 -2
- package/dist/esm/lib/utils.d.ts +0 -1
- package/dist/esm/lib/utils.js +2 -7
- package/dist/package.json +1 -1
- package/package.json +17 -7
- package/src/app/schedule/clean_log.ts +30 -17
- package/src/app/schedule/rotate_by_file.ts +1 -1
- package/src/app/schedule/rotate_by_hour.ts +1 -2
- package/src/app/schedule/rotate_by_size.ts +1 -1
- package/src/boot.ts +4 -1
- package/src/config/config.default.ts +1 -1
- package/src/lib/day_rotator.ts +17 -10
- package/src/lib/hour_rotator.ts +11 -3
- package/src/lib/rotator.ts +28 -9
- package/src/lib/size_rotator.ts +13 -5
- package/src/lib/utils.ts +4 -7
package/README.md
CHANGED
|
@@ -37,14 +37,14 @@ exports.logrotator = {
|
|
|
37
37
|
```js
|
|
38
38
|
// if any files need rotate by file size, config here
|
|
39
39
|
exports.logrotator = {
|
|
40
|
-
filesRotateByHour: [],
|
|
41
|
-
hourDelimiter: '-',
|
|
42
|
-
filesRotateBySize: [],
|
|
43
|
-
maxFileSize: 50 * 1024 * 1024,
|
|
44
|
-
maxFiles: 10,
|
|
45
|
-
rotateDuration: 60000,
|
|
46
|
-
maxDays: 31,
|
|
47
|
-
gzip:false,
|
|
40
|
+
filesRotateByHour: [], // list of files that will be rotated by hour
|
|
41
|
+
hourDelimiter: '-', // rotate the file by hour use specified delimiter
|
|
42
|
+
filesRotateBySize: [], // list of files that will be rotated by size
|
|
43
|
+
maxFileSize: 50 * 1024 * 1024, // Max file size to judge if any file need rotate
|
|
44
|
+
maxFiles: 10, // pieces rotate by size
|
|
45
|
+
rotateDuration: 60000, // time interval to judge if any file need rotate
|
|
46
|
+
maxDays: 31, // keep max days log files, default is `31`. Set `0` to keep all logs
|
|
47
|
+
gzip: false, // use gzip compress logger on rotate file, default is `false`. Set `true` to enable
|
|
48
48
|
};
|
|
49
49
|
```
|
|
50
50
|
|
|
@@ -86,7 +86,7 @@ module.exports = app => {
|
|
|
86
86
|
},
|
|
87
87
|
async task() {
|
|
88
88
|
await rotator.rotate();
|
|
89
|
-
}
|
|
89
|
+
},
|
|
90
90
|
};
|
|
91
91
|
};
|
|
92
92
|
|
package/README.zh-CN.md
CHANGED
|
@@ -28,13 +28,13 @@ exports.logrotator = true;
|
|
|
28
28
|
```js
|
|
29
29
|
// 如果有需要按照文件大小切割的日志,在这里配置
|
|
30
30
|
exports.logrotator = {
|
|
31
|
-
filesRotateByHour: [],
|
|
32
|
-
hourDelimiter: '-',
|
|
33
|
-
filesRotateBySize: [],
|
|
34
|
-
maxFileSize: 50 * 1024 * 1024,
|
|
35
|
-
maxFiles: 10,
|
|
36
|
-
rotateDuration: 60000,
|
|
37
|
-
maxDays: 31,
|
|
31
|
+
filesRotateByHour: [], // 需要按小时切割的文件
|
|
32
|
+
hourDelimiter: '-', // 按照小时切割的文件, 小时部分的分隔符.
|
|
33
|
+
filesRotateBySize: [], // 需要按大小切割的文件,其他日志文件仍按照通常方式切割
|
|
34
|
+
maxFileSize: 50 * 1024 * 1024, // 最大文件大小,默认为50m
|
|
35
|
+
maxFiles: 10, // 按大小切割时,文件最大切割的份数
|
|
36
|
+
rotateDuration: 60000, // 按大小切割时,文件扫描的间隔时间
|
|
37
|
+
maxDays: 31, // 日志保留最久天数
|
|
38
38
|
};
|
|
39
39
|
```
|
|
40
40
|
|
|
@@ -74,9 +74,9 @@ module.exports = app => {
|
|
|
74
74
|
type: 'worker', // only one worker run this task
|
|
75
75
|
cron: '10 * * * *', // custom cron, or use interval
|
|
76
76
|
},
|
|
77
|
-
*
|
|
77
|
+
*task() {
|
|
78
78
|
yield rotator.rotate();
|
|
79
|
-
}
|
|
79
|
+
},
|
|
80
80
|
};
|
|
81
81
|
};
|
|
82
82
|
|
|
@@ -86,7 +86,7 @@ function getRotator(app) {
|
|
|
86
86
|
// LogRotator will rename srcPath to targetPath
|
|
87
87
|
// 返回一个 map,其中包含 srcPath 和 targetPath,
|
|
88
88
|
// LogRotator 会将 srcPath 重命名成 targetPath
|
|
89
|
-
*
|
|
89
|
+
*getRotateFiles() {
|
|
90
90
|
const files = new Map();
|
|
91
91
|
const srcPath = '/home/admin/foo.log';
|
|
92
92
|
const targetPath = '/home/admin/foo.log.2016.09.30';
|
|
@@ -18,10 +18,10 @@ exports.default = (app) => ({
|
|
|
18
18
|
const logger = app.coreLogger;
|
|
19
19
|
const logDirs = new Set();
|
|
20
20
|
const loggerFiles = (0, utils_js_1.walkLoggerFile)(app.loggers);
|
|
21
|
-
|
|
21
|
+
for (const file of loggerFiles) {
|
|
22
22
|
const logDir = node_path_1.default.dirname(file);
|
|
23
23
|
logDirs.add(logDir);
|
|
24
|
-
}
|
|
24
|
+
}
|
|
25
25
|
const maxDays = app.config.logrotator.maxDays;
|
|
26
26
|
if (maxDays && maxDays > 0) {
|
|
27
27
|
try {
|
|
@@ -46,8 +46,8 @@ async function removeExpiredLogFiles(logDir, maxDays, logger) {
|
|
|
46
46
|
const files = await promises_1.default.readdir(logDir);
|
|
47
47
|
const expiredDate = (0, moment_1.default)().subtract(maxDays, 'days').startOf('date');
|
|
48
48
|
const names = files.filter(file => {
|
|
49
|
-
const name = node_path_1.default.extname(file).
|
|
50
|
-
if (!/^\d{4}
|
|
49
|
+
const name = node_path_1.default.extname(file).slice(1);
|
|
50
|
+
if (!/^\d{4}-\d{2}-\d{2}/.test(name)) {
|
|
51
51
|
return false;
|
|
52
52
|
}
|
|
53
53
|
const date = (0, moment_1.default)(name, 'YYYY-MM-DD').startOf('date');
|
|
@@ -65,10 +65,11 @@ async function removeExpiredLogFiles(logDir, maxDays, logger) {
|
|
|
65
65
|
try {
|
|
66
66
|
await promises_1.default.unlink(logFile);
|
|
67
67
|
}
|
|
68
|
-
catch (
|
|
68
|
+
catch (e) {
|
|
69
|
+
const err = e;
|
|
69
70
|
err.message = `[@eggjs/logrotator] remove logFile ${logFile} error, ${err.message}`;
|
|
70
71
|
logger.error(err);
|
|
71
72
|
}
|
|
72
73
|
}));
|
|
73
74
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5fbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zY2hlZHVsZS9jbGVhbl9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwwREFBNkI7QUFDN0IsZ0VBQWtDO0FBRWxDLHFDQUFpQztBQUNqQyxvREFBNEI7QUFHNUIsaURBQW9EO0FBRXBELG9EQUFvRDtBQUNwRCxrQkFBZSxDQUFDLEdBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsUUFBUSxFQUFFLGdDQUFnQztRQUNoRCxJQUFJLEVBQUUsV0FBVyxFQUFFLHlCQUF5QjtLQUM3QztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQWMsRUFBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMvQixNQUFNLE1BQU0sR0FBRyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDOUMsSUFBSSxPQUFPLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQztnQkFDSCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUN6QyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUMvQyxDQUFD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
|
|
@@ -14,4 +14,4 @@ exports.default = (app) => {
|
|
|
14
14
|
},
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRlX2J5X2hvdXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NjaGVkdWxlL3JvdGF0ZV9ieV9ob3VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsK0RBQXdEO0FBRXhELGtCQUFlLENBQUMsR0FBWSxFQUFFLEVBQUU7SUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSw2QkFBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0M7WUFDaEQsSUFBSSxFQUFFLFdBQVcsRUFBRSx1QkFBdUI7WUFDMUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7U0FDdEU7UUFFRCxLQUFLLENBQUMsSUFBSTtZQUNSLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
package/dist/commonjs/boot.js
CHANGED
|
@@ -15,4 +15,4 @@ class Boot {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.Boot = Boot;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsSUFBSTtJQUNjO0lBQTdCLFlBQTZCLEdBQVk7UUFBWixRQUFHLEdBQUgsR0FBRyxDQUFTO0lBQUcsQ0FBQztJQUU3QyxLQUFLLENBQUMsT0FBTztRQUNYLHlDQUF5QztRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3RCLDhEQUE4RCxFQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDZCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFiRCxvQkFhQyJ9
|
|
@@ -8,9 +8,9 @@ exports.default = {
|
|
|
8
8
|
filesRotateBySize: null,
|
|
9
9
|
maxFileSize: 50 * 1024 * 1024,
|
|
10
10
|
maxFiles: 10,
|
|
11
|
-
rotateDuration:
|
|
11
|
+
rotateDuration: 60_000,
|
|
12
12
|
maxDays: 31,
|
|
13
13
|
gzip: false,
|
|
14
14
|
},
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNkRBLGtCQUFlO0lBQ2IsVUFBVSxFQUFFO1FBQ1Ysa0JBQWtCLEVBQUUsS0FBSztRQUN6QixpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsV0FBVyxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSTtRQUM3QixRQUFRLEVBQUUsRUFBRTtRQUNaLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsSUFBSSxFQUFFLEtBQUs7S0FDUTtDQUN0QixDQUFDIn0=
|
|
@@ -27,13 +27,13 @@ class DayRotator extends rotator_js_1.LogRotator {
|
|
|
27
27
|
const logDir = this.app.config.logger.dir;
|
|
28
28
|
const loggers = this.app.loggers;
|
|
29
29
|
const loggerFiles = (0, utils_js_1.walkLoggerFile)(loggers);
|
|
30
|
-
|
|
30
|
+
for (let file of loggerFiles) {
|
|
31
31
|
// support relative path
|
|
32
32
|
if (!node_path_1.default.isAbsolute(file)) {
|
|
33
33
|
file = node_path_1.default.join(logDir, file);
|
|
34
34
|
}
|
|
35
35
|
this._setFile(file, files);
|
|
36
|
-
}
|
|
36
|
+
}
|
|
37
37
|
// Should rotate agent log, because schedule is running under app worker,
|
|
38
38
|
// agent log is the only difference between app worker and agent worker.
|
|
39
39
|
// - app worker -> egg-web.log
|
|
@@ -66,24 +66,26 @@ class DayRotator extends rotator_js_1.LogRotator {
|
|
|
66
66
|
}
|
|
67
67
|
_setFile(srcPath, files) {
|
|
68
68
|
// don't rotate logPath in filesRotateBySize
|
|
69
|
-
if (this.filesRotateBySize.
|
|
69
|
+
if (this.filesRotateBySize.includes(srcPath)) {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
// don't rotate logPath in filesRotateByHour
|
|
73
|
-
if (this.filesRotateByHour.
|
|
73
|
+
if (this.filesRotateByHour.includes(srcPath)) {
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
76
|
if (!files.has(srcPath)) {
|
|
77
77
|
const ext = this.app.config.logrotator.gzip === true ? '.gz' : '';
|
|
78
78
|
// allow 2 minutes deviation
|
|
79
|
-
const targetPath = srcPath +
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
const targetPath = srcPath +
|
|
80
|
+
(0, moment_1.default)()
|
|
81
|
+
.subtract(23, 'hours')
|
|
82
|
+
.subtract(58, 'minutes')
|
|
83
|
+
.format('.YYYY-MM-DD') +
|
|
84
|
+
ext;
|
|
83
85
|
debug('set file %s => %s', srcPath, targetPath);
|
|
84
86
|
files.set(srcPath, { srcPath, targetPath });
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
}
|
|
88
90
|
exports.DayRotator = DayRotator;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5X3JvdGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2RheV9yb3RhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixvREFBNEI7QUFDNUIsZ0VBQWtDO0FBQ2xDLHlDQUFxQztBQUVyQyxxQ0FBaUM7QUFFakMsNkNBQWdGO0FBQ2hGLHlDQUE0QztBQUU1QyxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsbUNBQW1DLENBQUMsQ0FBQztBQUU1RCxvQkFBb0I7QUFDcEIsNENBQTRDO0FBQzVDLE1BQWEsVUFBVyxTQUFRLHVCQUFVO0lBQ2hDLGlCQUFpQixDQUFXO0lBQzVCLGlCQUFpQixDQUFXO0lBRXBDLFlBQVksT0FBdUI7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7UUFDNUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDakMsTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBYyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLEtBQUssSUFBSSxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7WUFDN0Isd0JBQXdCO1lBQ3hCLElBQUksQ0FBQyxtQkFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMzQixJQUFJLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQseUVBQXlFO1FBQ3pFLHdFQUF3RTtRQUN4RSw4QkFBOEI7UUFDOUIsa0NBQWtDO1FBQ2xDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdEQsOEJBQThCO1FBQzlCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDM0QsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FDaEIsMEdBQTBHLENBQzNHLENBQUM7WUFFRixLQUFLLE1BQU0sR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsZ0JBQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLElBQUk7b0JBQUUsU0FBUztnQkFFcEIsSUFBSSxDQUFDO29CQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sa0JBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3BDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7d0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7NEJBQzNCLFNBQVM7d0JBQ1gsQ0FBQzt3QkFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDN0MsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7b0JBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFlLEVBQUUsS0FBOEI7UUFDdEQsNENBQTRDO1FBQzVDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU87UUFDVCxDQUFDO1FBRUQsNENBQTRDO1FBQzVDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbEUsNEJBQTRCO1lBQzVCLE1BQU0sVUFBVSxHQUNkLE9BQU87Z0JBQ1AsSUFBQSxnQkFBTSxHQUFFO3FCQUNMLFFBQVEsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDO3FCQUNyQixRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQztxQkFDdkIsTUFBTSxDQUFDLGFBQWEsQ0FBQztnQkFDeEIsR0FBRyxDQUFDO1lBQ04sS0FBSyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNoRCxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFuRkQsZ0NBbUZDIn0=
|
|
@@ -36,11 +36,15 @@ class HourRotator extends rotator_js_1.LogRotator {
|
|
|
36
36
|
_setFile(srcPath, files) {
|
|
37
37
|
if (!files.has(srcPath)) {
|
|
38
38
|
const ext = this.app.config.logrotator.gzip === true ? '.gz' : '';
|
|
39
|
-
const targetPath = srcPath +
|
|
39
|
+
const targetPath = srcPath +
|
|
40
|
+
(0, moment_1.default)()
|
|
41
|
+
.subtract(1, 'hours')
|
|
42
|
+
.format(`.YYYY-MM-DD${this.hourDelimiter}HH`) +
|
|
43
|
+
ext;
|
|
40
44
|
debug('set file %s => %s', srcPath, targetPath);
|
|
41
45
|
files.set(srcPath, { srcPath, targetPath });
|
|
42
46
|
}
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
exports.HourRotator = HourRotator;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91cl9yb3RhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ob3VyX3JvdGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDBEQUE2QjtBQUM3Qix5Q0FBcUM7QUFFckMscUNBQWlDO0FBRWpDLDZDQUEyRDtBQUUzRCxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsb0NBQW9DLENBQUMsQ0FBQztBQUU3RCxxQkFBcUI7QUFDckIsK0NBQStDO0FBQy9DLE1BQWEsV0FBWSxTQUFRLHVCQUFVO0lBQ3pDLEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDMUMsTUFBTSxpQkFBaUIsR0FDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQztRQUVyRCxLQUFLLElBQUksT0FBTyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEMsd0JBQXdCO1lBQ3hCLElBQUksQ0FBQyxtQkFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUM5QixPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsZ0JBQU0sRUFBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsU0FBUztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRLENBQUMsT0FBZSxFQUFFLEtBQThCO1FBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sVUFBVSxHQUNkLE9BQU87Z0JBQ1AsSUFBQSxnQkFBTSxHQUFFO3FCQUNMLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDO3FCQUNwQixNQUFNLENBQUMsY0FBYyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7Z0JBQy9DLEdBQUcsQ0FBQztZQUNOLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDaEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdkNELGtDQXVDQyJ9
|
|
@@ -32,12 +32,15 @@ class LogRotator {
|
|
|
32
32
|
await renameOrDelete(file.srcPath, file.targetPath, this.app.config.logrotator.gzip);
|
|
33
33
|
rotatedFiles.push(`${file.srcPath} -> ${file.targetPath}`);
|
|
34
34
|
}
|
|
35
|
-
catch (
|
|
36
|
-
err
|
|
35
|
+
catch (e) {
|
|
36
|
+
const err = e;
|
|
37
|
+
err.message =
|
|
38
|
+
`[@eggjs/logrotator] rename ${file.srcPath}, found exception: ` +
|
|
39
|
+
err.message;
|
|
37
40
|
this.logger.error(err);
|
|
38
41
|
}
|
|
39
42
|
}
|
|
40
|
-
if (rotatedFiles.length) {
|
|
43
|
+
if (rotatedFiles.length > 0) {
|
|
41
44
|
// tell every one to reload logger
|
|
42
45
|
this.logger.info('[@eggjs/logrotator] broadcast log-reload');
|
|
43
46
|
this.app.messenger.sendToApp('log-reload');
|
|
@@ -75,4 +78,4 @@ async function renameOrDelete(srcPath, targetPath, gzip) {
|
|
|
75
78
|
await promises_1.default.rename(srcPath, targetPath);
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcm90YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBaUM7QUFDakMscUNBQThEO0FBQzlELGdFQUFrQztBQUNsQyxtREFBZ0Q7QUFDaEQseUNBQXVDO0FBQ3ZDLHlDQUFxQztBQUVyQyxxQ0FBaUM7QUFHakMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLCtCQUErQixDQUFDLENBQUM7QUFXeEQsTUFBc0IsVUFBVTtJQUNYLE9BQU8sQ0FBaUI7SUFDeEIsR0FBRyxDQUFVO0lBQ2IsTUFBTSxDQUF3QjtJQUVqRCxZQUFZLE9BQXVCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUEscUJBQU0sRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBSUQsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQyxJQUFBLHFCQUFNLEVBQUMsS0FBSyxZQUFZLEdBQUcsRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sWUFBWSxHQUFhLEVBQUUsQ0FBQztRQUNsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQztnQkFDSCxLQUFLLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzdELE1BQU0sY0FBYyxDQUNs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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LogRotator, RotateFile } from './rotator.js';
|
|
1
|
+
import { LogRotator, type RotateFile } from './rotator.js';
|
|
2
2
|
export declare class SizeRotator extends LogRotator {
|
|
3
3
|
getRotateFiles(): Promise<Map<string, RotateFile>>;
|
|
4
4
|
_setFile(logPath: string, files: Map<string, RotateFile>): void;
|
|
@@ -43,7 +43,8 @@ class SizeRotator extends rotator_js_1.LogRotator {
|
|
|
43
43
|
this._setFile(logPath, files);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
catch (
|
|
46
|
+
catch (e) {
|
|
47
|
+
const err = e;
|
|
47
48
|
err.message = '[@eggjs/logrotator] ' + err.message;
|
|
48
49
|
this.logger.error(err);
|
|
49
50
|
}
|
|
@@ -70,4 +71,4 @@ class SizeRotator extends rotator_js_1.LogRotator {
|
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
73
|
exports.SizeRotator = SizeRotator;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZV9yb3RhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaXplX3JvdGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQWtDO0FBQ2xDLDBEQUE2QjtBQUM3Qix5Q0FBcUM7QUFFckMscUNBQWlDO0FBRWpDLDZDQUEyRDtBQUUzRCxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsb0NBQW9DLENBQUMsQ0FBQztBQUU3RCw0REFBNEQ7QUFDNUQsMkNBQTJDO0FBQzNDLDBEQUEwRDtBQUMxRCxNQUFhLFdBQVksU0FBUSx1QkFBVTtJQUN6QyxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQzFDLE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7UUFDckQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUMzRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ3JELEtBQUssSUFBSSxPQUFPLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0Qyx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLG1CQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxnQkFBTSxF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
|
|
@@ -3,15 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.walkLoggerFile = walkLoggerFile;
|
|
4
4
|
/**
|
|
5
5
|
* Walk all logger files from loggers
|
|
6
|
-
* @param loggers - The loggers to walk
|
|
7
6
|
*/
|
|
8
7
|
function walkLoggerFile(loggers) {
|
|
9
8
|
const files = [];
|
|
10
|
-
for (const
|
|
11
|
-
if (!loggers.hasOwnProperty(key)) {
|
|
12
|
-
continue;
|
|
13
|
-
}
|
|
14
|
-
const registeredLogger = loggers[key];
|
|
9
|
+
for (const registeredLogger of Object.values(loggers)) {
|
|
15
10
|
for (const transport of registeredLogger.values()) {
|
|
16
11
|
const file = transport.options.file;
|
|
17
12
|
if (file) {
|
|
@@ -21,4 +16,4 @@ function walkLoggerFile(loggers) {
|
|
|
21
16
|
}
|
|
22
17
|
return files;
|
|
23
18
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esd0NBYUM7QUFoQkQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQzVCLE9BQXFEO0lBRXJELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUMzQixLQUFLLE1BQU0sZ0JBQWdCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3RELEtBQUssTUFBTSxTQUFTLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNwQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIn0=
|
|
@@ -13,10 +13,10 @@ export default (app) => ({
|
|
|
13
13
|
const logger = app.coreLogger;
|
|
14
14
|
const logDirs = new Set();
|
|
15
15
|
const loggerFiles = walkLoggerFile(app.loggers);
|
|
16
|
-
|
|
16
|
+
for (const file of loggerFiles) {
|
|
17
17
|
const logDir = path.dirname(file);
|
|
18
18
|
logDirs.add(logDir);
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
20
|
const maxDays = app.config.logrotator.maxDays;
|
|
21
21
|
if (maxDays && maxDays > 0) {
|
|
22
22
|
try {
|
|
@@ -41,8 +41,8 @@ async function removeExpiredLogFiles(logDir, maxDays, logger) {
|
|
|
41
41
|
const files = await fs.readdir(logDir);
|
|
42
42
|
const expiredDate = moment().subtract(maxDays, 'days').startOf('date');
|
|
43
43
|
const names = files.filter(file => {
|
|
44
|
-
const name = path.extname(file).
|
|
45
|
-
if (!/^\d{4}
|
|
44
|
+
const name = path.extname(file).slice(1);
|
|
45
|
+
if (!/^\d{4}-\d{2}-\d{2}/.test(name)) {
|
|
46
46
|
return false;
|
|
47
47
|
}
|
|
48
48
|
const date = moment(name, 'YYYY-MM-DD').startOf('date');
|
|
@@ -60,10 +60,11 @@ async function removeExpiredLogFiles(logDir, maxDays, logger) {
|
|
|
60
60
|
try {
|
|
61
61
|
await fs.unlink(logFile);
|
|
62
62
|
}
|
|
63
|
-
catch (
|
|
63
|
+
catch (e) {
|
|
64
|
+
const err = e;
|
|
64
65
|
err.message = `[@eggjs/logrotator] remove logFile ${logFile} error, ${err.message}`;
|
|
65
66
|
logger.error(err);
|
|
66
67
|
}
|
|
67
68
|
}));
|
|
68
69
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5fbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zY2hlZHVsZS9jbGVhbl9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxvREFBb0Q7QUFDcEQsZUFBZSxDQUFDLEdBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsUUFBUSxFQUFFLGdDQUFnQztRQUNoRCxJQUFJLEVBQUUsV0FBVyxFQUFFLHlCQUF5QjtLQUM3QztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUM5QyxJQUFJLE9BQU8sSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQ3pDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQy9DLENBQUM7Z0JBQ0YsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCwrQ0FBK0M7QUFDL0MsS0FBSyxVQUFVLHFCQUFxQixDQUNsQyxNQUFjLEVBQ2QsT0FBZSxFQUNmLE1BQTZCO0lBRTdCLHdCQUF3QjtJQUN4QixNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLENBQUMsSUFBSSxDQUFDLDhCQUE4QixNQUFNLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sV0FBVyxHQUFHLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDaEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUNULG9DQUFvQyxNQUFNLFdBQVcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUN4RSxDQUFDO0lBRUYsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sR0FBRyxHQUFHLENBQVUsQ0FBQztZQUN2QixHQUFHLENBQUMsT0FBTyxHQUFHLHNDQUFzQyxPQUFPLFdBQVcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BGLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -12,4 +12,4 @@ export default (app) => {
|
|
|
12
12
|
},
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRlX2J5X2hvdXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NjaGVkdWxlL3JvdGF0ZV9ieV9ob3VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxlQUFlLENBQUMsR0FBWSxFQUFFLEVBQUU7SUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUSxFQUFFLGdDQUFnQztZQUNoRCxJQUFJLEVBQUUsV0FBVyxFQUFFLHVCQUF1QjtZQUMxQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQztTQUN0RTtRQUVELEtBQUssQ0FBQyxJQUFJO1lBQ1IsTUFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
package/dist/esm/boot.js
CHANGED
|
@@ -11,4 +11,4 @@ export class Boot {
|
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxJQUFJO0lBQ2M7SUFBN0IsWUFBNkIsR0FBWTtRQUFaLFFBQUcsR0FBSCxHQUFHLENBQVM7SUFBRyxDQUFDO0lBRTdDLEtBQUssQ0FBQyxPQUFPO1FBQ1gseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDdEIsOERBQThELEVBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNkLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
|
@@ -6,9 +6,9 @@ export default {
|
|
|
6
6
|
filesRotateBySize: null,
|
|
7
7
|
maxFileSize: 50 * 1024 * 1024,
|
|
8
8
|
maxFiles: 10,
|
|
9
|
-
rotateDuration:
|
|
9
|
+
rotateDuration: 60_000,
|
|
10
10
|
maxDays: 31,
|
|
11
11
|
gzip: false,
|
|
12
12
|
},
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEQSxlQUFlO0lBQ2IsVUFBVSxFQUFFO1FBQ1Ysa0JBQWtCLEVBQUUsS0FBSztRQUN6QixpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsV0FBVyxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSTtRQUM3QixRQUFRLEVBQUUsRUFBRTtRQUNaLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsSUFBSSxFQUFFLEtBQUs7S0FDUTtDQUN0QixDQUFDIn0=
|
|
@@ -21,13 +21,13 @@ export class DayRotator extends LogRotator {
|
|
|
21
21
|
const logDir = this.app.config.logger.dir;
|
|
22
22
|
const loggers = this.app.loggers;
|
|
23
23
|
const loggerFiles = walkLoggerFile(loggers);
|
|
24
|
-
|
|
24
|
+
for (let file of loggerFiles) {
|
|
25
25
|
// support relative path
|
|
26
26
|
if (!path.isAbsolute(file)) {
|
|
27
27
|
file = path.join(logDir, file);
|
|
28
28
|
}
|
|
29
29
|
this._setFile(file, files);
|
|
30
|
-
}
|
|
30
|
+
}
|
|
31
31
|
// Should rotate agent log, because schedule is running under app worker,
|
|
32
32
|
// agent log is the only difference between app worker and agent worker.
|
|
33
33
|
// - app worker -> egg-web.log
|
|
@@ -60,23 +60,25 @@ export class DayRotator extends LogRotator {
|
|
|
60
60
|
}
|
|
61
61
|
_setFile(srcPath, files) {
|
|
62
62
|
// don't rotate logPath in filesRotateBySize
|
|
63
|
-
if (this.filesRotateBySize.
|
|
63
|
+
if (this.filesRotateBySize.includes(srcPath)) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
// don't rotate logPath in filesRotateByHour
|
|
67
|
-
if (this.filesRotateByHour.
|
|
67
|
+
if (this.filesRotateByHour.includes(srcPath)) {
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
70
|
if (!files.has(srcPath)) {
|
|
71
71
|
const ext = this.app.config.logrotator.gzip === true ? '.gz' : '';
|
|
72
72
|
// allow 2 minutes deviation
|
|
73
|
-
const targetPath = srcPath +
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
const targetPath = srcPath +
|
|
74
|
+
moment()
|
|
75
|
+
.subtract(23, 'hours')
|
|
76
|
+
.subtract(58, 'minutes')
|
|
77
|
+
.format('.YYYY-MM-DD') +
|
|
78
|
+
ext;
|
|
77
79
|
debug('set file %s => %s', srcPath, targetPath);
|
|
78
80
|
files.set(srcPath, { srcPath, targetPath });
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5X3JvdGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2RheV9yb3RhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxVQUFVLEVBQXdDLE1BQU0sY0FBYyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7QUFFNUQsb0JBQW9CO0FBQ3BCLDRDQUE0QztBQUM1QyxNQUFNLE9BQU8sVUFBVyxTQUFRLFVBQVU7SUFDaEMsaUJBQWlCLENBQVc7SUFDNUIsaUJBQWlCLENBQVc7SUFFcEMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQztRQUM1RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUMxQyxN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
|