@eggjs/logrotator 5.0.0-beta.34 → 5.0.0-beta.36

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/dist/agent.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { Boot } from './boot.ts';
2
- export default Boot;
1
+ import { Boot } from "./boot.js";
2
+ export { Boot as default };
package/dist/agent.js CHANGED
@@ -1,3 +1,7 @@
1
1
  import { Boot } from "./boot.js";
2
- export default Boot;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqQyxlQUFlLElBQUksQ0FBQyJ9
2
+
3
+ //#region src/agent.ts
4
+ var agent_default = Boot;
5
+
6
+ //#endregion
7
+ export { agent_default as default };
@@ -1,5 +1,8 @@
1
- import { LogRotator } from '../../lib/rotator.ts';
1
+ import { LogRotator } from "../../lib/rotator.js";
2
+
3
+ //#region src/app/extend/agent.d.ts
2
4
  declare const extensions: {
3
- LogRotator: typeof LogRotator;
5
+ LogRotator: typeof LogRotator;
4
6
  };
5
- export default extensions;
7
+ //#endregion
8
+ export { extensions as default };
@@ -1,7 +1,8 @@
1
1
  import { LogRotator } from "../../lib/rotator.js";
2
- // egg-schedule will load both at app and agent, so we should mount it for compatible
3
- const extensions = {
4
- LogRotator,
5
- };
6
- export default extensions;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4dGVuZC9hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxHQUVaO0lBQ0YsVUFBVTtDQUNYLENBQUM7QUFFRixlQUFlLFVBQVUsQ0FBQyJ9
2
+
3
+ //#region src/app/extend/agent.ts
4
+ const extensions = { LogRotator };
5
+ var agent_default = extensions;
6
+
7
+ //#endregion
8
+ export { agent_default as default };
@@ -1,5 +1,8 @@
1
- import { LogRotator } from '../../lib/rotator.ts';
1
+ import { LogRotator } from "../../lib/rotator.js";
2
+
3
+ //#region src/app/extend/application.d.ts
2
4
  declare const extensions: {
3
- LogRotator: typeof LogRotator;
5
+ LogRotator: typeof LogRotator;
4
6
  };
5
- export default extensions;
7
+ //#endregion
8
+ export { extensions as default };
@@ -1,6 +1,8 @@
1
1
  import { LogRotator } from "../../lib/rotator.js";
2
- const extensions = {
3
- LogRotator,
4
- };
5
- export default extensions;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4dGVuZC9hcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsTUFBTSxVQUFVLEdBRVo7SUFDRixVQUFVO0NBQ1gsQ0FBQztBQUVGLGVBQWUsVUFBVSxDQUFDIn0=
2
+
3
+ //#region src/app/extend/application.ts
4
+ const extensions = { LogRotator };
5
+ var application_default = extensions;
6
+
7
+ //#endregion
8
+ export { application_default as default };
@@ -1,4 +1,7 @@
1
- import type { Application } from 'egg';
2
- import type { EggScheduleHandler } from 'egg/schedule';
1
+ import { Application } from "egg";
2
+ import { EggScheduleHandler } from "egg/schedule";
3
+
4
+ //#region src/app/schedule/clean_log.d.ts
3
5
  declare const _default: (app: Application) => EggScheduleHandler;
4
- export default _default;
6
+ //#endregion
7
+ export { _default as default };
@@ -1,70 +1,60 @@
1
- import path from 'node:path';
2
- import fs from 'node:fs/promises';
3
- import { exists } from 'utility';
4
- import moment from 'moment';
5
1
  import { walkLoggerFile } from "../../lib/utils.js";
6
- // clean all xxx.log.YYYY-MM-DD before expired date.
7
- export default (app) => ({
8
- schedule: {
9
- type: 'worker', // only one worker run this task
10
- cron: '0 0 * * *', // run every day at 00:00
11
- },
12
- async task() {
13
- const logger = app.coreLogger;
14
- const logDirs = new Set();
15
- const loggerFiles = walkLoggerFile(app.loggers);
16
- for (const file of loggerFiles) {
17
- const logDir = path.dirname(file);
18
- logDirs.add(logDir);
19
- }
20
- const maxDays = app.config.logrotator.maxDays;
21
- if (maxDays && maxDays > 0) {
22
- try {
23
- const tasks = Array.from(logDirs, (logDir) => removeExpiredLogFiles(logDir, maxDays, logger));
24
- await Promise.all(tasks);
25
- }
26
- catch (err) {
27
- logger.error(err);
28
- }
29
- }
30
- logger.info('[@eggjs/logrotator] clean all log before %s days', maxDays);
31
- },
2
+ import fs from "node:fs/promises";
3
+ import { exists } from "utility";
4
+ import path from "node:path";
5
+ import moment from "moment";
6
+
7
+ //#region src/app/schedule/clean_log.ts
8
+ var clean_log_default = (app) => ({
9
+ schedule: {
10
+ type: "worker",
11
+ cron: "0 0 * * *"
12
+ },
13
+ async task() {
14
+ const logger = app.coreLogger;
15
+ const logDirs = /* @__PURE__ */ new Set();
16
+ const loggerFiles = walkLoggerFile(app.loggers);
17
+ for (const file of loggerFiles) {
18
+ const logDir = path.dirname(file);
19
+ logDirs.add(logDir);
20
+ }
21
+ const maxDays = app.config.logrotator.maxDays;
22
+ if (maxDays && maxDays > 0) try {
23
+ const tasks = Array.from(logDirs, (logDir) => removeExpiredLogFiles(logDir, maxDays, logger));
24
+ await Promise.all(tasks);
25
+ } catch (err) {
26
+ logger.error(err);
27
+ }
28
+ logger.info("[@eggjs/logrotator] clean all log before %s days", maxDays);
29
+ }
32
30
  });
33
- // remove expired log files: xxx.log.YYYY-MM-DD
34
31
  async function removeExpiredLogFiles(logDir, maxDays, logger) {
35
- // ignore not exists dir
36
- const stat = await exists(logDir);
37
- if (!stat) {
38
- logger.warn(`[@eggjs/logrotator] logDir ${logDir} not exists`);
39
- return;
40
- }
41
- const files = await fs.readdir(logDir);
42
- const expiredDate = moment().subtract(maxDays, 'days').startOf('date');
43
- const names = files.filter((file) => {
44
- const name = path.extname(file).slice(1);
45
- if (!/^\d{4}-\d{2}-\d{2}/.test(name)) {
46
- return false;
47
- }
48
- const date = moment(name, 'YYYY-MM-DD').startOf('date');
49
- if (!date.isValid()) {
50
- return false;
51
- }
52
- return date.isBefore(expiredDate);
53
- });
54
- if (names.length === 0) {
55
- return;
56
- }
57
- logger.info(`[@eggjs/logrotator] start remove ${logDir} files: ${names.join(', ')}`);
58
- await Promise.all(names.map(async (name) => {
59
- const logFile = path.join(logDir, name);
60
- try {
61
- await fs.unlink(logFile);
62
- }
63
- catch (e) {
64
- const err = e;
65
- err.message = `[@eggjs/logrotator] remove logFile ${logFile} error, ${err.message}`;
66
- logger.error(err);
67
- }
68
- }));
32
+ if (!await exists(logDir)) {
33
+ logger.warn(`[@eggjs/logrotator] logDir ${logDir} not exists`);
34
+ return;
35
+ }
36
+ const files = await fs.readdir(logDir);
37
+ const expiredDate = moment().subtract(maxDays, "days").startOf("date");
38
+ const names = files.filter((file) => {
39
+ const name = path.extname(file).slice(1);
40
+ if (!/^\d{4}-\d{2}-\d{2}/.test(name)) return false;
41
+ const date = moment(name, "YYYY-MM-DD").startOf("date");
42
+ if (!date.isValid()) return false;
43
+ return date.isBefore(expiredDate);
44
+ });
45
+ if (names.length === 0) return;
46
+ logger.info(`[@eggjs/logrotator] start remove ${logDir} files: ${names.join(", ")}`);
47
+ await Promise.all(names.map(async (name) => {
48
+ const logFile = path.join(logDir, name);
49
+ try {
50
+ await fs.unlink(logFile);
51
+ } catch (e) {
52
+ const err = e;
53
+ err.message = `[@eggjs/logrotator] remove logFile ${logFile} error, ${err.message}`;
54
+ logger.error(err);
55
+ }
56
+ }));
69
57
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5fbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9zY2hlZHVsZS9jbGVhbl9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBSTVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxvREFBb0Q7QUFDcEQsZUFBZSxDQUFDLEdBQWdCLEVBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRSxRQUFRLEVBQUUsZ0NBQWdDO1FBQ2hELElBQUksRUFBRSxXQUFXLEVBQUUseUJBQXlCO0tBQzdDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFDbEMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQzlDLElBQUksT0FBTyxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLEdBQUcsS0FB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
58
+
59
+ //#endregion
60
+ export { clean_log_default as default };
@@ -1,4 +1,7 @@
1
- import type { Application } from 'egg';
2
- import type { EggScheduleHandler } from 'egg/schedule';
1
+ import { Application } from "egg";
2
+ import { EggScheduleHandler } from "egg/schedule";
3
+
4
+ //#region src/app/schedule/rotate_by_file.d.ts
3
5
  declare const _default: (app: Application) => EggScheduleHandler;
4
- export default _default;
6
+ //#endregion
7
+ export { _default as default };
@@ -1,15 +1,19 @@
1
1
  import { DayRotator } from "../../lib/day_rotator.js";
2
- export default (app) => {
3
- const rotator = new DayRotator({ app });
4
- return {
5
- schedule: {
6
- type: 'worker', // only one worker run this task
7
- cron: '1 0 0 * * *', // run every day at 00:00
8
- disable: app.config.logrotator.disableRotateByDay,
9
- },
10
- async task() {
11
- await rotator.rotate();
12
- },
13
- };
2
+
3
+ //#region src/app/schedule/rotate_by_file.ts
4
+ var rotate_by_file_default = (app) => {
5
+ const rotator = new DayRotator({ app });
6
+ return {
7
+ schedule: {
8
+ type: "worker",
9
+ cron: "1 0 0 * * *",
10
+ disable: app.config.logrotator.disableRotateByDay
11
+ },
12
+ async task() {
13
+ await rotator.rotate();
14
+ }
15
+ };
14
16
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRlX2J5X2ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL3NjaGVkdWxlL3JvdGF0ZV9ieV9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RCxlQUFlLENBQUMsR0FBZ0IsRUFBc0IsRUFBRTtJQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFeEMsT0FBTztRQUNMLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRLEVBQUUsZ0NBQWdDO1lBQ2hELElBQUksRUFBRSxhQUFhLEVBQUUseUJBQXlCO1lBQzlDLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0I7U0FDbEQ7UUFFRCxLQUFLLENBQUMsSUFBSTtZQUNSLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
17
+
18
+ //#endregion
19
+ export { rotate_by_file_default as default };
@@ -1,4 +1,7 @@
1
- import type { Application } from 'egg';
2
- import type { EggScheduleHandler } from 'egg/schedule';
1
+ import { Application } from "egg";
2
+ import { EggScheduleHandler } from "egg/schedule";
3
+
4
+ //#region src/app/schedule/rotate_by_hour.d.ts
3
5
  declare const _default: (app: Application) => EggScheduleHandler;
4
- export default _default;
6
+ //#endregion
7
+ export { _default as default };
@@ -1,15 +1,19 @@
1
1
  import { HourRotator } from "../../lib/hour_rotator.js";
2
- export default (app) => {
3
- const rotator = new HourRotator({ app });
4
- return {
5
- schedule: {
6
- type: 'worker', // only one worker run this task
7
- cron: '1 * * * *', // run every hour at 01
8
- disable: (app.config.logrotator.filesRotateByHour || []).length === 0,
9
- },
10
- async task() {
11
- await rotator.rotate();
12
- },
13
- };
2
+
3
+ //#region src/app/schedule/rotate_by_hour.ts
4
+ var rotate_by_hour_default = (app) => {
5
+ const rotator = new HourRotator({ app });
6
+ return {
7
+ schedule: {
8
+ type: "worker",
9
+ cron: "1 * * * *",
10
+ disable: (app.config.logrotator.filesRotateByHour || []).length === 0
11
+ },
12
+ async task() {
13
+ await rotator.rotate();
14
+ }
15
+ };
14
16
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRlX2J5X2hvdXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL3NjaGVkdWxlL3JvdGF0ZV9ieV9ob3VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxlQUFlLENBQUMsR0FBZ0IsRUFBc0IsRUFBRTtJQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFekMsT0FBTztRQUNMLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRLEVBQUUsZ0NBQWdDO1lBQ2hELElBQUksRUFBRSxXQUFXLEVBQUUsdUJBQXVCO1lBQzFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDO1NBQ3RFO1FBRUQsS0FBSyxDQUFDLElBQUk7WUFDUixNQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
17
+
18
+ //#endregion
19
+ export { rotate_by_hour_default as default };
@@ -1,4 +1,7 @@
1
- import type { Application } from 'egg';
2
- import type { EggScheduleHandler } from 'egg/schedule';
1
+ import { Application } from "egg";
2
+ import { EggScheduleHandler } from "egg/schedule";
3
+
4
+ //#region src/app/schedule/rotate_by_size.d.ts
3
5
  declare const _default: (app: Application) => EggScheduleHandler;
4
- export default _default;
6
+ //#endregion
7
+ export { _default as default };
@@ -1,15 +1,19 @@
1
1
  import { SizeRotator } from "../../lib/size_rotator.js";
2
- export default (app) => {
3
- const rotator = new SizeRotator({ app });
4
- return {
5
- schedule: {
6
- type: 'worker',
7
- interval: app.config.logrotator.rotateDuration,
8
- disable: (app.config.logrotator.filesRotateBySize || []).length === 0,
9
- },
10
- async task() {
11
- await rotator.rotate();
12
- },
13
- };
2
+
3
+ //#region src/app/schedule/rotate_by_size.ts
4
+ var rotate_by_size_default = (app) => {
5
+ const rotator = new SizeRotator({ app });
6
+ return {
7
+ schedule: {
8
+ type: "worker",
9
+ interval: app.config.logrotator.rotateDuration,
10
+ disable: (app.config.logrotator.filesRotateBySize || []).length === 0
11
+ },
12
+ async task() {
13
+ await rotator.rotate();
14
+ }
15
+ };
14
16
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRlX2J5X3NpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL3NjaGVkdWxlL3JvdGF0ZV9ieV9zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxlQUFlLENBQUMsR0FBZ0IsRUFBc0IsRUFBRTtJQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFekMsT0FBTztRQUNMLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWM7WUFDOUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7U0FDdEU7UUFFRCxLQUFLLENBQUMsSUFBSTtZQUNSLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
17
+
18
+ //#endregion
19
+ export { rotate_by_size_default as default };
package/dist/app.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { Boot } from './boot.ts';
2
- export default Boot;
1
+ import { Boot } from "./boot.js";
2
+ export { Boot as default };
package/dist/app.js CHANGED
@@ -1,3 +1,7 @@
1
1
  import { Boot } from "./boot.js";
2
- export default Boot;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpDLGVBQWUsSUFBSSxDQUFDIn0=
2
+
3
+ //#region src/app.ts
4
+ var app_default = Boot;
5
+
6
+ //#endregion
7
+ export { app_default as default };
package/dist/boot.d.ts CHANGED
@@ -1,6 +1,10 @@
1
- import type { Application, ILifecycleBoot } from 'egg';
2
- export declare class Boot implements ILifecycleBoot {
3
- private readonly app;
4
- constructor(app: Application);
5
- didLoad(): Promise<void>;
1
+ import { Application, ILifecycleBoot } from "egg";
2
+
3
+ //#region src/boot.d.ts
4
+ declare class Boot implements ILifecycleBoot {
5
+ private readonly app;
6
+ constructor(app: Application);
7
+ didLoad(): Promise<void>;
6
8
  }
9
+ //#endregion
10
+ export { Boot };
package/dist/boot.js CHANGED
@@ -1,14 +1,16 @@
1
- export class Boot {
2
- app;
3
- constructor(app) {
4
- this.app = app;
5
- }
6
- async didLoad() {
7
- // reload logger to new fd after rotating
8
- this.app.messenger.on('log-reload', () => {
9
- this.app.loggers.reload();
10
- this.app.coreLogger.info('[@eggjs/logrotator] %s logger reload: got log-reload message', this.app.type);
11
- });
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ib290LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxJQUFJO0lBQ0UsR0FBRyxDQUFDO0lBQ3JCLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyw4REFBOEQsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
1
+ //#region src/boot.ts
2
+ var Boot = class {
3
+ app;
4
+ constructor(app) {
5
+ this.app = app;
6
+ }
7
+ async didLoad() {
8
+ this.app.messenger.on("log-reload", () => {
9
+ this.app.loggers.reload();
10
+ this.app.coreLogger.info("[@eggjs/logrotator] %s logger reload: got log-reload message", this.app.type);
11
+ });
12
+ }
13
+ };
14
+
15
+ //#endregion
16
+ export { Boot };
@@ -1,60 +1,62 @@
1
- export interface LogrotatorConfig {
2
- /**
3
- * Disable rotate by day
4
- *
5
- * Default: `false`
6
- */
7
- disableRotateByDay: boolean;
8
- /**
9
- * List of files that will be rotated by hour
10
- *
11
- * Default: `null`
12
- */
13
- filesRotateByHour: string[] | null;
14
- /**
15
- * Hour delimiter
16
- *
17
- * Default: `-`
18
- */
19
- hourDelimiter: string;
20
- /**
21
- * List of files that will be rotated by size
22
- *
23
- * Default: `null`
24
- */
25
- filesRotateBySize: string[] | null;
26
- /**
27
- * Max file size to judge if any file need rotate
28
- *
29
- * Default: `50 * 1024 * 1024`
30
- */
31
- maxFileSize: number;
32
- /**
33
- * Max files to keep
34
- *
35
- * Default: `10`
36
- */
37
- maxFiles: number;
38
- /**
39
- * Time interval to judge if any file need rotate
40
- *
41
- * Default: `60000`
42
- */
43
- rotateDuration: number;
44
- /**
45
- * Max days to keep log files, set `0` to keep all logs.
46
- *
47
- * Default: `31`
48
- */
49
- maxDays: number;
50
- /**
51
- * Enable gzip compression for rotated files
52
- *
53
- * Default: `false`
54
- */
55
- gzip: boolean;
1
+ //#region src/config/config.default.d.ts
2
+ interface LogrotatorConfig {
3
+ /**
4
+ * Disable rotate by day
5
+ *
6
+ * Default: `false`
7
+ */
8
+ disableRotateByDay: boolean;
9
+ /**
10
+ * List of files that will be rotated by hour
11
+ *
12
+ * Default: `null`
13
+ */
14
+ filesRotateByHour: string[] | null;
15
+ /**
16
+ * Hour delimiter
17
+ *
18
+ * Default: `-`
19
+ */
20
+ hourDelimiter: string;
21
+ /**
22
+ * List of files that will be rotated by size
23
+ *
24
+ * Default: `null`
25
+ */
26
+ filesRotateBySize: string[] | null;
27
+ /**
28
+ * Max file size to judge if any file need rotate
29
+ *
30
+ * Default: `50 * 1024 * 1024`
31
+ */
32
+ maxFileSize: number;
33
+ /**
34
+ * Max files to keep
35
+ *
36
+ * Default: `10`
37
+ */
38
+ maxFiles: number;
39
+ /**
40
+ * Time interval to judge if any file need rotate
41
+ *
42
+ * Default: `60000`
43
+ */
44
+ rotateDuration: number;
45
+ /**
46
+ * Max days to keep log files, set `0` to keep all logs.
47
+ *
48
+ * Default: `31`
49
+ */
50
+ maxDays: number;
51
+ /**
52
+ * Enable gzip compression for rotated files
53
+ *
54
+ * Default: `false`
55
+ */
56
+ gzip: boolean;
56
57
  }
57
58
  declare const _default: {
58
- logrotator: LogrotatorConfig;
59
+ logrotator: LogrotatorConfig;
59
60
  };
60
- export default _default;
61
+ //#endregion
62
+ export { LogrotatorConfig, _default as default };
@@ -1,14 +1,15 @@
1
- export default {
2
- logrotator: {
3
- disableRotateByDay: false,
4
- filesRotateByHour: null,
5
- hourDelimiter: '-',
6
- filesRotateBySize: null,
7
- maxFileSize: 50 * 1024 * 1024,
8
- maxFiles: 10,
9
- rotateDuration: 60_000,
10
- maxDays: 31,
11
- gzip: false,
12
- },
13
- };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlEQSxlQUFlO0lBQ2IsVUFBVSxFQUFFO1FBQ1Ysa0JBQWtCLEVBQUUsS0FBSztRQUN6QixpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsV0FBVyxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSTtRQUM3QixRQUFRLEVBQUUsRUFBRTtRQUNaLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsSUFBSSxFQUFFLEtBQUs7S0FDUTtDQUN0QixDQUFDIn0=
1
+ //#region src/config/config.default.ts
2
+ var config_default_default = { logrotator: {
3
+ disableRotateByDay: false,
4
+ filesRotateByHour: null,
5
+ hourDelimiter: "-",
6
+ filesRotateBySize: null,
7
+ maxFileSize: 50 * 1024 * 1024,
8
+ maxFiles: 10,
9
+ rotateDuration: 6e4,
10
+ maxDays: 31,
11
+ gzip: false
12
+ } };
13
+
14
+ //#endregion
15
+ export { config_default_default as default };
package/dist/index.d.ts CHANGED
@@ -1,19 +1,23 @@
1
- import './types.ts';
2
- import { type EggPluginFactory } from 'egg';
1
+ import { LogRotator, RotateFile, RotatorOptions } from "./lib/rotator.js";
2
+ import "./types.js";
3
+ import { EggPluginFactory } from "egg";
4
+
5
+ //#region src/index.d.ts
6
+
3
7
  /**
4
- * LogRotator plugin
5
- *
6
- * @since 4.1.0
7
- * Usage:
8
- * ```ts
9
- * // config/plugin.ts
10
- * import logrotatorPlugin from '@eggjs/logrotator';
11
- *
12
- * export default {
13
- * ...logrotatorPlugin(),
14
- * };
15
- * ```
16
- */
8
+ * LogRotator plugin
9
+ *
10
+ * @since 4.1.0
11
+ * Usage:
12
+ * ```ts
13
+ * // config/plugin.ts
14
+ * import logrotatorPlugin from '@eggjs/logrotator';
15
+ *
16
+ * export default {
17
+ * ...logrotatorPlugin(),
18
+ * };
19
+ * ```
20
+ */
17
21
  declare const _default: EggPluginFactory;
18
- export default _default;
19
- export * from './lib/rotator.ts';
22
+ //#endregion
23
+ export { LogRotator, RotateFile, RotatorOptions, _default as default };