exodus-framework 2.0.9977 → 2.0.9979
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/app/classes/event.d.ts +3 -0
- package/lib/app/classes/event.d.ts.map +1 -1
- package/lib/app/classes/event.js +7 -0
- package/lib/app/error.js +5 -5
- package/lib/app/exodus.d.ts +2 -0
- package/lib/app/exodus.d.ts.map +1 -1
- package/lib/app/exodus.js +8 -1
- package/lib/app/settings.d.ts +1 -1
- package/lib/app/settings.js +1 -1
- package/lib/contracts/log.d.ts +4 -0
- package/lib/contracts/log.d.ts.map +1 -0
- package/lib/contracts/log.js +5 -0
- package/lib/controllers/messaging/application.d.ts.map +1 -1
- package/lib/controllers/messaging/application.js +2 -2
- package/lib/controllers/messaging/database.js +3 -2
- package/lib/controllers/messaging/environment.js +4 -3
- package/lib/services/database.d.ts.map +1 -1
- package/lib/services/database.js +5 -4
- package/lib/services/express.d.ts.map +1 -1
- package/lib/services/express.js +3 -3
- package/lib/services/file.js +3 -3
- package/lib/services/file_new.js +3 -3
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +8 -0
- package/lib/services/log.d.ts +3 -10
- package/lib/services/log.d.ts.map +1 -1
- package/lib/services/log.js +3 -3
- package/lib/services/logger.d.ts +13 -0
- package/lib/services/logger.d.ts.map +1 -0
- package/lib/services/logger.js +165 -0
- package/lib/services/rabitmq.js +2 -2
- package/lib/services/redis.js +2 -2
- package/lib/services/sequelize.d.ts.map +1 -1
- package/lib/services/sequelize.js +3 -3
- package/lib/services/socket.js +2 -2
- package/lib/tasks/queue/environment.js +4 -3
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +1 -9
- package/lib/utils/logger-transport.d.ts +8 -0
- package/lib/utils/logger-transport.d.ts.map +1 -0
- package/lib/utils/logger-transport.js +53 -0
- package/lib/utils/logger.d.ts +1 -4
- package/lib/utils/logger.d.ts.map +1 -1
- package/lib/utils/logger.js +2 -94
- package/package.json +3 -3
@@ -2,12 +2,14 @@ import { Worker } from 'cluster';
|
|
2
2
|
import System from './system';
|
3
3
|
import { TClusterBroadCastMessage } from '../../contracts/core';
|
4
4
|
type cbExit = (code: number, worker: Worker, signal: string) => void;
|
5
|
+
type cbStart = () => void;
|
5
6
|
type cbProcessExit = (code: number) => void;
|
6
7
|
type cbSignal = (signal: NodeJS.Signals) => void;
|
7
8
|
type cbException = (err: Error) => void;
|
8
9
|
type cbRejection = (reason: unknown, promise: Promise<unknown>) => void;
|
9
10
|
type cbMessage = (message: TClusterBroadCastMessage) => void;
|
10
11
|
declare class ProcessEmitterManager extends System {
|
12
|
+
private static workerStartHandles;
|
11
13
|
private static workerExitHandles;
|
12
14
|
private static clusterExitHandles;
|
13
15
|
private static processSIGINTHandles;
|
@@ -16,6 +18,7 @@ declare class ProcessEmitterManager extends System {
|
|
16
18
|
private static processRejectionHandles;
|
17
19
|
private static processExitHandles;
|
18
20
|
private static processMessageHandles;
|
21
|
+
static registerWorkerStartHandle(handle: cbStart): void;
|
19
22
|
static registerWorkerExitHandle(handle: cbExit): void;
|
20
23
|
static registerClusterExitHandle(handle: cbExit): void;
|
21
24
|
static registerProcessSIGINTHandle(handle: cbSignal): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/app/classes/event.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AACrE,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAC5C,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;AACjD,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;AACxC,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AACxE,KAAK,SAAS,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;AAQ7D,cAAM,qBAAsB,SAAQ,MAAM;IACxC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAgB;IAChD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAgB;IACjD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAkB;IACrD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAkB;IACtD,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAqB;IAC3D,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAqB;IAC3D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAuB;IACxD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAmB;IAEvD,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM;IAG9C,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM;IAG/C,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,QAAQ;IAGnD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,QAAQ;IAGpD,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW;IAGzD,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW;IAGzD,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,aAAa;IAGtD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,SAAS;IAIrD,MAAM,CAAC,KAAK;
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/app/classes/event.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AACrE,KAAK,OAAO,GAAG,MAAM,IAAI,CAAC;AAC1B,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAC5C,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;AACjD,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;AACxC,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AACxE,KAAK,SAAS,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;AAQ7D,cAAM,qBAAsB,SAAQ,MAAM;IACxC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiB;IAClD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAgB;IAChD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAgB;IACjD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAkB;IACrD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAkB;IACtD,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAqB;IAC3D,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAqB;IAC3D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAuB;IACxD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAmB;IAEvD,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO;IAGhD,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM;IAG9C,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM;IAG/C,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,QAAQ;IAGnD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,QAAQ;IAGpD,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW;IAGzD,MAAM,CAAC,8BAA8B,CAAC,MAAM,EAAE,WAAW;IAGzD,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,aAAa;IAGtD,MAAM,CAAC,4BAA4B,CAAC,MAAM,EAAE,SAAS;IAIrD,MAAM,CAAC,KAAK;CAuDb;AAED,eAAe,qBAAqB,CAAC"}
|
package/lib/app/classes/event.js
CHANGED
@@ -14,6 +14,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
14
14
|
* @extends {System}
|
15
15
|
*/
|
16
16
|
class ProcessEmitterManager extends _system.default {
|
17
|
+
static workerStartHandles = [];
|
17
18
|
static workerExitHandles = [];
|
18
19
|
static clusterExitHandles = [];
|
19
20
|
static processSIGINTHandles = [];
|
@@ -22,6 +23,9 @@ class ProcessEmitterManager extends _system.default {
|
|
22
23
|
static processRejectionHandles = [];
|
23
24
|
static processExitHandles = [];
|
24
25
|
static processMessageHandles = [];
|
26
|
+
static registerWorkerStartHandle(handle) {
|
27
|
+
this.workerStartHandles.push(handle);
|
28
|
+
}
|
25
29
|
static registerWorkerExitHandle(handle) {
|
26
30
|
this.workerExitHandles.push(handle);
|
27
31
|
}
|
@@ -47,6 +51,9 @@ class ProcessEmitterManager extends _system.default {
|
|
47
51
|
this.processMessageHandles.push(handle);
|
48
52
|
}
|
49
53
|
static Start() {
|
54
|
+
for (const cb of this.workerStartHandles) {
|
55
|
+
if (cb) cb();
|
56
|
+
}
|
50
57
|
_cluster.default.on('fork', worker => {
|
51
58
|
worker.on('exit', (code, signal) => {
|
52
59
|
for (const cb of this.workerExitHandles) {
|
package/lib/app/error.js
CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.HttpError = exports.ErrorHandler = void 0;
|
7
7
|
var _contracts = require("../contracts");
|
8
|
-
var
|
8
|
+
var _logger = _interopRequireDefault(require("../services/logger"));
|
9
9
|
var _managed = _interopRequireDefault(require("./classes/managed"));
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
11
|
class ErrorHandler extends _managed.default {
|
@@ -25,7 +25,7 @@ class ErrorHandler extends _managed.default {
|
|
25
25
|
register() {
|
26
26
|
const message = this.caller && this.caller != 'L' ? `[${this.caller}]->${this.message}` : this.message;
|
27
27
|
this.log(`${message}`, 'danger');
|
28
|
-
|
28
|
+
// LoggerService.logger().error(this.error, this.message);
|
29
29
|
}
|
30
30
|
getCallerClassName() {
|
31
31
|
const err = new Error();
|
@@ -58,9 +58,9 @@ class HttpError extends _managed.default {
|
|
58
58
|
this.handle();
|
59
59
|
}
|
60
60
|
handle() {
|
61
|
-
|
62
|
-
|
63
|
-
this.error &&
|
61
|
+
_logger.default.logger().warn(this.message, this.statusCode);
|
62
|
+
_logger.default.logger().warn(this.data);
|
63
|
+
this.error && _logger.default.logger().error(this.error, this.message);
|
64
64
|
}
|
65
65
|
}
|
66
66
|
exports.HttpError = HttpError;
|
package/lib/app/exodus.d.ts
CHANGED
@@ -3,12 +3,14 @@ import Managed from './classes/managed';
|
|
3
3
|
import CoreSettings from './settings';
|
4
4
|
declare class Exodus extends Managed {
|
5
5
|
private services;
|
6
|
+
static startedAt: Date;
|
6
7
|
constructor(settings: CoreSettings);
|
7
8
|
start(): Promise<void>;
|
8
9
|
private createClusters;
|
9
10
|
register(service: typeof Service): void;
|
10
11
|
private initServices;
|
11
12
|
private startService;
|
13
|
+
static getStartedAt(): Date;
|
12
14
|
}
|
13
15
|
export default Exodus;
|
14
16
|
//# sourceMappingURL=exodus.d.ts.map
|
package/lib/app/exodus.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"exodus.d.ts","sourceRoot":"","sources":["../../src/app/exodus.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,OAAO,EAAE,MAAM,GAAG,CAAC;
|
1
|
+
{"version":3,"file":"exodus.d.ts","sourceRoot":"","sources":["../../src/app/exodus.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,OAAO,EAAE,MAAM,GAAG,CAAC;AAG1C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC,OAAO,YAAY,MAAM,YAAY,CAAC;AAStC,cAAM,MAAO,SAAQ,OAAO;IAC1B,OAAO,CAAC,QAAQ,CAAY;IAC5B,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;gBAEX,QAAQ,EAAE,YAAY;IAUrB,KAAK;IAwBlB,OAAO,CAAC,cAAc;IAef,QAAQ,CAAC,OAAO,EAAE,OAAO,OAAO;YAGzB,YAAY;YAiBZ,YAAY;IAqB1B,MAAM,CAAC,YAAY,IAAI,IAAI;CAG5B;AACD,eAAe,MAAM,CAAC"}
|
package/lib/app/exodus.js
CHANGED
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.default = void 0;
|
7
7
|
var _cluster = _interopRequireDefault(require("cluster"));
|
8
8
|
var _ = require(".");
|
9
|
+
var _logger = _interopRequireDefault(require("../services/logger"));
|
10
|
+
var _event = _interopRequireDefault(require("./classes/event"));
|
9
11
|
var _managed = _interopRequireDefault(require("./classes/managed"));
|
10
12
|
var _core = _interopRequireDefault(require("./core"));
|
11
|
-
var _event = _interopRequireDefault(require("./classes/event"));
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
13
14
|
/**
|
14
15
|
* Classe da aplicação principal
|
@@ -19,8 +20,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
19
20
|
*/
|
20
21
|
class Exodus extends _managed.default {
|
21
22
|
services;
|
23
|
+
static startedAt;
|
22
24
|
constructor(settings) {
|
23
25
|
super();
|
26
|
+
Exodus.startedAt = new Date();
|
27
|
+
new _logger.default();
|
24
28
|
_core.default.setSettings(settings);
|
25
29
|
this.services = [];
|
26
30
|
}
|
@@ -93,5 +97,8 @@ class Exodus extends _managed.default {
|
|
93
97
|
await new Promise(resolve => setTimeout(() => resolve(true), service.getAttemptDelay()));
|
94
98
|
}
|
95
99
|
}
|
100
|
+
static getStartedAt() {
|
101
|
+
return Exodus.startedAt;
|
102
|
+
}
|
96
103
|
}
|
97
104
|
var _default = exports.default = Exodus;
|
package/lib/app/settings.d.ts
CHANGED
package/lib/app/settings.js
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/contracts/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/controllers/messaging/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAM1E,cAAM,qBAAsB,SAAQ,mBAAmB;IACrD,OAAO,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAWjE;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAa/D;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAYhE;IAEF,IAAI,EAAE,sBAAsB,CAAC,eAAe,CAAC,eAAe,CAAC,
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/controllers/messaging/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAM1E,cAAM,qBAAsB,SAAQ,mBAAmB;IACrD,OAAO,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAWjE;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAa/D;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAYhE;IAEF,IAAI,EAAE,sBAAsB,CAAC,eAAe,CAAC,eAAe,CAAC,CAyB3D;CACH;AAED,eAAe,qBAAqB,CAAC"}
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
7
7
|
var _controller = require("../../app/controller");
|
8
8
|
var _error = require("../../app/error");
|
9
9
|
var _Application = require("../../models/Application");
|
10
|
-
var _logger = _interopRequireDefault(require("../../
|
10
|
+
var _logger = _interopRequireDefault(require("../../services/logger"));
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
12
|
//TODO: a ordem de inicialização do sistema impede as tasks estarem disponiveis até o momento
|
13
13
|
//TODO: deveria ser assim?
|
@@ -55,7 +55,7 @@ class ApplicationController extends _controller.MessagingController {
|
|
55
55
|
try {
|
56
56
|
const host = await _Application.Application.findByPk(app.uuid);
|
57
57
|
if (!host) {
|
58
|
-
|
58
|
+
_logger.default.logger().info(app, `Sincronizando nova integração do banco de dados ${app.name}`);
|
59
59
|
this.log(`Sincronizando nova integração do banco de dados ${app.name}`, 'info');
|
60
60
|
// ApplicationSyncQueue.addJob({ create: app });
|
61
61
|
|
@@ -7,7 +7,8 @@ exports.default = void 0;
|
|
7
7
|
var _controller = require("../../app/controller");
|
8
8
|
var _models = require("../../models");
|
9
9
|
var _app = require("../../app");
|
10
|
-
var
|
10
|
+
var _logger = _interopRequireDefault(require("../../services/logger"));
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
12
|
class DatabaseController extends _controller.MessagingController {
|
12
13
|
created = async (data, ack) => {
|
13
14
|
try {
|
@@ -46,7 +47,7 @@ class DatabaseController extends _controller.MessagingController {
|
|
46
47
|
try {
|
47
48
|
const host = await _models.DatabaseHost.findByPk(database.uuid);
|
48
49
|
if (!host) {
|
49
|
-
|
50
|
+
_logger.default.logger().info(database, `Sincronizando novo host ${database.host}`);
|
50
51
|
this.log(`Sincronizando novo host ${database.host}`, 'info');
|
51
52
|
await _models.DatabaseHost.create(database);
|
52
53
|
}
|
@@ -7,7 +7,8 @@ exports.default = void 0;
|
|
7
7
|
var _app = require("../../app");
|
8
8
|
var _models = require("../../models");
|
9
9
|
var _services = require("../../services");
|
10
|
-
var
|
10
|
+
var _logger = _interopRequireDefault(require("../../services/logger"));
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
12
|
//TODO: a ordem de inicialização do sistema impede as tasks estarem disponiveis até o momento
|
12
13
|
//TODO: deveria ser assim?
|
13
14
|
class EnvironmentController extends _app.MessagingController {
|
@@ -84,7 +85,7 @@ class EnvironmentController extends _app.MessagingController {
|
|
84
85
|
}
|
85
86
|
});
|
86
87
|
if (!host) {
|
87
|
-
|
88
|
+
_logger.default.logger().info(env, `Sincronizando relação env-db ${env.uuid}`);
|
88
89
|
this.log(`Sincronizando relação env-db ${env.uuid}`, 'info');
|
89
90
|
await _models.EnvDBHost.create({
|
90
91
|
envUuid: env.uuid,
|
@@ -93,7 +94,7 @@ class EnvironmentController extends _app.MessagingController {
|
|
93
94
|
});
|
94
95
|
}
|
95
96
|
if (!(await _services.DatabaseService.getService().hasDB(env.database, env.envToken))) {
|
96
|
-
|
97
|
+
_logger.default.logger().info(env, `Sincronizando novo banco de dados ${env.uuid}`);
|
97
98
|
this.log(`Sincronizando novo banco de dados ${env.uuid}`, 'info');
|
98
99
|
await _services.DatabaseService.getService().createDB(env.database, env.envToken);
|
99
100
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/services/database.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/services/database.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEnE,OAAO,EAAsB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAgB,SAAS,EAAE,MAAM,WAAW,CAAC;AAKpD,cAAM,eAAgB,SAAQ,OAAO;IACnC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,WAAW,CAAyB;IAE/B,aAAa;IAWb,OAAO;IAkBP,WAAW;YAMV,cAAc;IA6Cf,gBAAgB,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO;IAwBL,aAAa,CAAC,QAAQ,EAAE,MAAM;IAO9B,cAAc,CAAC,IAAI,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB;YA2Ba,sBAAsB;IA6BvB,YAAY;IAKZ,oBAAoB,CAAC,QAAQ,EAAE,MAAM;YAMpC,UAAU;IASX,SAAS,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAClD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAU1B,OAAO,CAAC,qBAAqB;IAIhB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA2BrC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAmBrC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAwBlC,sBAAsB,CAAC,UAAU,EAAE,SAAS;IAmB5C,mBAAmB,CAAC,UAAU,EAAE,SAAS;IAmBzC,mBAAmB;CAgBjC;AAED,eAAe,eAAe,CAAC"}
|
package/lib/services/database.js
CHANGED
@@ -4,14 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
+
var _fs = require("fs");
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
7
9
|
var _sequelize = require("sequelize");
|
10
|
+
var _umzug = require("umzug");
|
8
11
|
var _app = require("../app");
|
9
12
|
var _models = require("../models");
|
10
13
|
var _utils = require("../utils");
|
14
|
+
var _logger = _interopRequireDefault(require("./logger"));
|
11
15
|
var _security = _interopRequireDefault(require("./security"));
|
12
|
-
var _umzug = require("umzug");
|
13
|
-
var _path = _interopRequireDefault(require("path"));
|
14
|
-
var _fs = require("fs");
|
15
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
16
17
|
class DatabaseService extends _app.Service {
|
17
18
|
entities;
|
@@ -37,7 +38,7 @@ class DatabaseService extends _app.Service {
|
|
37
38
|
this.log('✅ Connected service database sucessfully', 'success');
|
38
39
|
return true;
|
39
40
|
} catch (error) {
|
40
|
-
|
41
|
+
_logger.default.logger().error(error, `Not connected Sequelize to database`);
|
41
42
|
return false;
|
42
43
|
}
|
43
44
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/services/express.ts"],"names":[],"mappings":"AACA,OAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAG7C,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,cAAM,cAAe,SAAQ,OAAO;IAClC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;IAGd,oBAAoB;IAIpB,cAAc;IAqBd,sBAAsB;
|
1
|
+
{"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/services/express.ts"],"names":[],"mappings":"AACA,OAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAG7C,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,cAAM,cAAe,SAAQ,OAAO;IAClC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;IAGd,oBAAoB;IAIpB,cAAc;IAqBd,sBAAsB;IAW5B,aAAa;IAIb,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY;IAkC3E,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAMtE,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;IAWzC,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAUtF,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY;IAWlF,2BAA2B,QAC3B,GAAG,OACH,OAAO,OACP,QAAQ,KAEV,YAAY,mBAoBf;IAEW,YAAY,CAAC,MAAM,EAAE,MAAM;IAyBxC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM;CAGrC;AAED,eAAe,cAAc,CAAC"}
|
package/lib/services/express.js
CHANGED
@@ -13,7 +13,7 @@ var _service = _interopRequireDefault(require("../app/classes/service"));
|
|
13
13
|
var _core = _interopRequireDefault(require("../app/core"));
|
14
14
|
var _error = require("../app/error");
|
15
15
|
var _http2 = require("../contracts/http");
|
16
|
-
var _logger = _interopRequireDefault(require("
|
16
|
+
var _logger = _interopRequireDefault(require("./logger"));
|
17
17
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
19
19
|
// import 'express-async-errors';
|
@@ -33,7 +33,7 @@ class ExpressService extends _service.default {
|
|
33
33
|
this.server = http.createServer(expss);
|
34
34
|
expss.use('/public', _express.default.static(_core.default.settings.getHttp().publicPath));
|
35
35
|
expss.use((0, _pinoHttp.pinoHttp)({
|
36
|
-
logger:
|
36
|
+
logger: _logger.default.logger()
|
37
37
|
}));
|
38
38
|
expss.set('query parser', str => _qs.default.parse(str));
|
39
39
|
expss.use(this.responseTypeMiddleware.bind(this));
|
@@ -57,7 +57,7 @@ class ExpressService extends _service.default {
|
|
57
57
|
async onExodusClusterStarted() {
|
58
58
|
await super.onExodusClusterStarted();
|
59
59
|
this.server.listen(_core.default.settings.getAppication().port, () => {
|
60
|
-
|
60
|
+
_logger.default.logger().info(`servidor iniciado na porta: ${_core.default.settings.getAppication().port}`);
|
61
61
|
this.log(`🌍 Http Server Listering On: ${_core.default.settings.getAppication().port}`, 'success');
|
62
62
|
});
|
63
63
|
}
|
package/lib/services/file.js
CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
7
|
var _service = _interopRequireDefault(require("../app/classes/service"));
|
8
|
-
var _logger = _interopRequireDefault(require("
|
8
|
+
var _logger = _interopRequireDefault(require("./logger"));
|
9
9
|
var _fs = _interopRequireWildcard(require("fs"));
|
10
10
|
var fs = _fs;
|
11
11
|
var fsPromisses = _interopRequireWildcard(require("fs/promises"));
|
@@ -38,7 +38,7 @@ class FileService extends _service.default {
|
|
38
38
|
const p = _app.Core.settings.getAppication().filePaths.temporary + '/' + filename;
|
39
39
|
const d = _app.Core.settings.getAppication().filePaths[destiny] + '/' + filename;
|
40
40
|
return await fsPromisses.rename(p, d).then(() => d).catch(e => {
|
41
|
-
|
41
|
+
_logger.default.logger().error({
|
42
42
|
filename,
|
43
43
|
destiny,
|
44
44
|
erro: e
|
@@ -49,7 +49,7 @@ class FileService extends _service.default {
|
|
49
49
|
async delete(filename, destiny) {
|
50
50
|
const d = _app.Core.settings.getAppication().filePaths[destiny] + '/' + filename;
|
51
51
|
return await fsPromisses.unlink(d).then(() => true).catch(e => {
|
52
|
-
|
52
|
+
_logger.default.logger().error({
|
53
53
|
filename,
|
54
54
|
destiny,
|
55
55
|
erro: e
|
package/lib/services/file_new.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
// import { Core, ErrorHandler } from '../app';
|
6
6
|
// import Service from '../app/classes/service';
|
7
7
|
// import { TFilePathSettings } from '../contracts/settings';
|
8
|
-
// import
|
8
|
+
// import LoggerService from './logger';
|
9
9
|
|
10
10
|
// class FileService extends Service {
|
11
11
|
// protected cache: NodeCache;
|
@@ -42,7 +42,7 @@
|
|
42
42
|
// .unlink(d)
|
43
43
|
// .then(() => true)
|
44
44
|
// .catch((e) => {
|
45
|
-
// logger().error({ filename, destiny, erro: e }, 'Não foi possível deletar o arquivo');
|
45
|
+
// LoggerService.logger().error({ filename, destiny, erro: e }, 'Não foi possível deletar o arquivo');
|
46
46
|
// return false;
|
47
47
|
// });
|
48
48
|
// }
|
@@ -51,7 +51,7 @@
|
|
51
51
|
// .rename(to, from)
|
52
52
|
// .then((d) => d)
|
53
53
|
// .catch((e) => {
|
54
|
-
// logger().error({ to, from, erro: e }, 'Não foi possível mover o arquivo');
|
54
|
+
// LoggerService.logger().error({ to, from, erro: e }, 'Não foi possível mover o arquivo');
|
55
55
|
// return false;
|
56
56
|
// });
|
57
57
|
// }
|
package/lib/services/index.d.ts
CHANGED
@@ -6,6 +6,7 @@ export { default as SequelizeService } from './sequelize';
|
|
6
6
|
export { default as SocketIOService } from './socket';
|
7
7
|
export { default as SecurityService } from './security';
|
8
8
|
export { default as LogService } from './log';
|
9
|
+
export { default as LoggerService } from './logger';
|
9
10
|
export { default as EcosystemService } from './ecosystem';
|
10
11
|
export { default as TestService } from './test';
|
11
12
|
export { default as DatabaseService } from './database';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AACxD,cAAc,QAAQ,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AACxD,cAAc,QAAQ,CAAC"}
|
package/lib/services/index.js
CHANGED
@@ -12,6 +12,7 @@ var _exportNames = {
|
|
12
12
|
SocketIOService: true,
|
13
13
|
SecurityService: true,
|
14
14
|
LogService: true,
|
15
|
+
LoggerService: true,
|
15
16
|
EcosystemService: true,
|
16
17
|
TestService: true,
|
17
18
|
DatabaseService: true
|
@@ -46,6 +47,12 @@ Object.defineProperty(exports, "LogService", {
|
|
46
47
|
return _log.default;
|
47
48
|
}
|
48
49
|
});
|
50
|
+
Object.defineProperty(exports, "LoggerService", {
|
51
|
+
enumerable: true,
|
52
|
+
get: function () {
|
53
|
+
return _logger.default;
|
54
|
+
}
|
55
|
+
});
|
49
56
|
Object.defineProperty(exports, "RabbitMQService", {
|
50
57
|
enumerable: true,
|
51
58
|
get: function () {
|
@@ -90,6 +97,7 @@ var _sequelize = _interopRequireDefault(require("./sequelize"));
|
|
90
97
|
var _socket = _interopRequireDefault(require("./socket"));
|
91
98
|
var _security = _interopRequireDefault(require("./security"));
|
92
99
|
var _log = _interopRequireDefault(require("./log"));
|
100
|
+
var _logger = _interopRequireDefault(require("./logger"));
|
93
101
|
var _ecosystem = _interopRequireDefault(require("./ecosystem"));
|
94
102
|
var _test = _interopRequireDefault(require("./test"));
|
95
103
|
var _database = _interopRequireDefault(require("./database"));
|
package/lib/services/log.d.ts
CHANGED
@@ -1,13 +1,6 @@
|
|
1
|
-
import {
|
2
|
-
declare class LogService
|
3
|
-
register(tenantId: string, data:
|
4
|
-
origin: string;
|
5
|
-
action: string;
|
6
|
-
category: string;
|
7
|
-
comments?: string;
|
8
|
-
data?: Record<string, any>;
|
9
|
-
params?: Record<string, any>;
|
10
|
-
}): Promise<boolean>;
|
1
|
+
import { DBLogData } from '../contracts/log';
|
2
|
+
declare class LogService {
|
3
|
+
register(tenantId: string, data: DBLogData): Promise<boolean>;
|
11
4
|
}
|
12
5
|
export default LogService;
|
13
6
|
//# sourceMappingURL=log.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/services/log.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/services/log.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,cAAM,UAAU;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;CAcxD;AAED,eAAe,UAAU,CAAC"}
|
package/lib/services/log.js
CHANGED
@@ -9,11 +9,11 @@ var _app = require("../app");
|
|
9
9
|
var _Log = require("../models/Log");
|
10
10
|
var _database = _interopRequireDefault(require("./database"));
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
|
-
class LogService
|
12
|
+
class LogService {
|
13
13
|
async register(tenantId, data) {
|
14
14
|
try {
|
15
|
-
const
|
16
|
-
await
|
15
|
+
const eLog = await _database.default.getService().getEntity(_Log.Log, tenantId);
|
16
|
+
await eLog.create({
|
17
17
|
...data,
|
18
18
|
happenedAt: (0, _dateFns.format)(new Date(), 'yyyy-MM-dd HH:mm:ss')
|
19
19
|
});
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Logger } from 'pino';
|
2
|
+
import Managed from '../app/classes/managed';
|
3
|
+
declare class LoggerService extends Managed {
|
4
|
+
private static loggerInstance;
|
5
|
+
onMasterInit(): Promise<void>;
|
6
|
+
private createlogger;
|
7
|
+
static logger(): Logger<never>;
|
8
|
+
private compressLogFolder;
|
9
|
+
private backupLogs;
|
10
|
+
private cleanBackupLogs;
|
11
|
+
}
|
12
|
+
export default LoggerService;
|
13
|
+
//# sourceMappingURL=logger.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAQ7C,cAAM,aAAc,SAAQ,OAAO;IACjC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAgB;IAEhC,YAAY;YAYX,YAAY;WA2DZ,MAAM;YAIN,iBAAiB;YA2BjB,UAAU;YAsBV,eAAe;CAoB9B;AACD,eAAe,aAAa,CAAC"}
|
@@ -0,0 +1,165 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _dateFns = require("date-fns");
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
9
|
+
var _pino = _interopRequireDefault(require("pino"));
|
10
|
+
var _managed = _interopRequireDefault(require("../app/classes/managed"));
|
11
|
+
var _core = _interopRequireDefault(require("../app/core"));
|
12
|
+
var _exodus = _interopRequireDefault(require("../app/exodus"));
|
13
|
+
var _archiver = _interopRequireDefault(require("archiver"));
|
14
|
+
var _promises = require("fs/promises");
|
15
|
+
var fs = _interopRequireWildcard(require("fs"));
|
16
|
+
var _util = require("util");
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
19
|
+
class LoggerService extends _managed.default {
|
20
|
+
static loggerInstance;
|
21
|
+
async onMasterInit() {
|
22
|
+
super.onMasterInit();
|
23
|
+
if (!LoggerService.loggerInstance) {
|
24
|
+
this.createlogger();
|
25
|
+
}
|
26
|
+
await (0, _promises.mkdir)(_path.default.resolve(_core.default.settings.getlogger().path, 'backups'), {
|
27
|
+
recursive: true
|
28
|
+
});
|
29
|
+
await this.backupLogs();
|
30
|
+
await this.cleanBackupLogs();
|
31
|
+
}
|
32
|
+
async createlogger() {
|
33
|
+
const basePath = _path.default.resolve(_core.default.settings.getlogger().path, (0, _dateFns.format)(_exodus.default.getStartedAt(), 'dd-MM-yyyy'), (0, _dateFns.format)(_exodus.default.getStartedAt(), 'HH_mm'));
|
34
|
+
await (0, _promises.mkdir)(basePath, {
|
35
|
+
recursive: true
|
36
|
+
});
|
37
|
+
const isDev = process.argv.includes('--dev');
|
38
|
+
const targets = [{
|
39
|
+
level: 'info',
|
40
|
+
target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
|
41
|
+
options: {
|
42
|
+
destination: _path.default.join(basePath, 'info.json'),
|
43
|
+
level: 'info'
|
44
|
+
}
|
45
|
+
}, {
|
46
|
+
level: 'error',
|
47
|
+
target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
|
48
|
+
options: {
|
49
|
+
destination: _path.default.join(basePath, 'error.json'),
|
50
|
+
level: 'error'
|
51
|
+
}
|
52
|
+
}, {
|
53
|
+
level: 'debug',
|
54
|
+
target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
|
55
|
+
options: {
|
56
|
+
destination: _path.default.join(basePath, 'debug.json'),
|
57
|
+
level: 'debug'
|
58
|
+
}
|
59
|
+
}, {
|
60
|
+
level: 'warn',
|
61
|
+
target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
|
62
|
+
options: {
|
63
|
+
destination: _path.default.join(basePath, 'warn.json'),
|
64
|
+
level: 'warn'
|
65
|
+
}
|
66
|
+
}, {
|
67
|
+
level: 'fatal',
|
68
|
+
target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
|
69
|
+
options: {
|
70
|
+
destination: _path.default.join(basePath, 'fatal.json'),
|
71
|
+
level: 'fatal'
|
72
|
+
}
|
73
|
+
}, {
|
74
|
+
level: 'trace',
|
75
|
+
target: '../utils/logger-transport' + (isDev ? '.ts' : '.js'),
|
76
|
+
options: {
|
77
|
+
destination: _path.default.join(basePath, 'trace.json'),
|
78
|
+
level: 'trace'
|
79
|
+
}
|
80
|
+
}];
|
81
|
+
if (_core.default.settings.getlogger().console) {
|
82
|
+
targets.push({
|
83
|
+
level: _core.default.settings.getlogger().level,
|
84
|
+
target: 'pino-pretty',
|
85
|
+
// human-readable
|
86
|
+
options: {
|
87
|
+
colorize: true
|
88
|
+
}
|
89
|
+
});
|
90
|
+
}
|
91
|
+
LoggerService.loggerInstance = (0, _pino.default)({
|
92
|
+
level: _core.default.settings.getlogger().level,
|
93
|
+
timestamp: _pino.default.stdTimeFunctions.isoTime
|
94
|
+
}, _pino.default.transport({
|
95
|
+
targets
|
96
|
+
}));
|
97
|
+
}
|
98
|
+
static logger() {
|
99
|
+
return LoggerService.loggerInstance;
|
100
|
+
}
|
101
|
+
async compressLogFolder(date) {
|
102
|
+
const folderPath = _path.default.resolve(_core.default.settings.getlogger().path, date);
|
103
|
+
const outputPath = _path.default.resolve(_core.default.settings.getlogger().path, 'backups', `${date}.zip`);
|
104
|
+
|
105
|
+
// Verifica se a pasta existe
|
106
|
+
if (!(await (0, _util.promisify)(fs.stat)(folderPath))) {
|
107
|
+
throw new Error(`A pasta de logs não foi encontrada: ${folderPath}`);
|
108
|
+
}
|
109
|
+
return new Promise((resolve, reject) => {
|
110
|
+
const output = fs.createWriteStream(outputPath);
|
111
|
+
const archive = (0, _archiver.default)('zip', {
|
112
|
+
zlib: {
|
113
|
+
level: 9
|
114
|
+
}
|
115
|
+
});
|
116
|
+
output.on('close', () => {
|
117
|
+
resolve(outputPath);
|
118
|
+
});
|
119
|
+
archive.on('error', err => {
|
120
|
+
reject(err);
|
121
|
+
});
|
122
|
+
archive.pipe(output);
|
123
|
+
archive.directory(folderPath, false);
|
124
|
+
archive.finalize();
|
125
|
+
});
|
126
|
+
}
|
127
|
+
async backupLogs() {
|
128
|
+
const logs = await (0, _promises.readdir)(_core.default.settings.getlogger().path);
|
129
|
+
for (const dateFolder of logs) {
|
130
|
+
const datePath = _path.default.join(_core.default.settings.getlogger().path, dateFolder);
|
131
|
+
const stats = await (0, _promises.stat)(datePath);
|
132
|
+
const isDir = stats.isDirectory();
|
133
|
+
|
134
|
+
// Ignora se não for pasta ou se for a pasta do dia
|
135
|
+
if (!isDir || dateFolder === 'backups' || dateFolder === (0, _dateFns.format)(_exodus.default.getStartedAt(), 'dd-MM-yyyy')) continue;
|
136
|
+
await this.compressLogFolder(dateFolder);
|
137
|
+
this.log(`✅ ${dateFolder} → compactado`);
|
138
|
+
await (0, _promises.rm)(datePath, {
|
139
|
+
recursive: true,
|
140
|
+
force: true
|
141
|
+
});
|
142
|
+
}
|
143
|
+
}
|
144
|
+
async cleanBackupLogs() {
|
145
|
+
const backupPath = _path.default.join(_core.default.settings.getlogger().path, 'backups');
|
146
|
+
const backups = await (0, _promises.readdir)(backupPath);
|
147
|
+
for (const backup of backups) {
|
148
|
+
const backupFile = _path.default.join(backupPath, backup);
|
149
|
+
const stats = await (0, _promises.stat)(backupFile);
|
150
|
+
const isDir = stats.isDirectory();
|
151
|
+
const filename = backup.split('.')[0];
|
152
|
+
const [day, month, year] = filename.split('-').map(Number);
|
153
|
+
const backupDate = new Date(year, month - 1, day);
|
154
|
+
if (isDir || filename === (0, _dateFns.format)(_exodus.default.getStartedAt(), 'dd-MM-yyyy')) continue;
|
155
|
+
const threeMonthsAgo = (0, _dateFns.subMonths)(new Date(), 3);
|
156
|
+
if ((0, _dateFns.isBefore)(backupDate, threeMonthsAgo)) {
|
157
|
+
await (0, _promises.rm)(backupFile, {
|
158
|
+
force: true
|
159
|
+
});
|
160
|
+
this.log(`✅ ${backup} → removido`);
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
}
|
165
|
+
var _default = exports.default = LoggerService;
|
package/lib/services/rabitmq.js
CHANGED
@@ -9,7 +9,7 @@ var _crypto = require("crypto");
|
|
9
9
|
var _app = require("../app");
|
10
10
|
var _service = _interopRequireDefault(require("../app/classes/service"));
|
11
11
|
var _messaging = _interopRequireDefault(require("../routes/messaging"));
|
12
|
-
var
|
12
|
+
var _logger = _interopRequireDefault(require("../services/logger"));
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
14
14
|
/**
|
15
15
|
* Serviço de Mensageria
|
@@ -82,7 +82,7 @@ class RabbitMQService extends _service.default {
|
|
82
82
|
this.log(`✅ Rabbit MQ Connection is ready`);
|
83
83
|
return true;
|
84
84
|
} catch (error) {
|
85
|
-
|
85
|
+
_logger.default.logger().error(error, `Not connected to MQ Server`);
|
86
86
|
this.isReconnecting = false;
|
87
87
|
return false;
|
88
88
|
}
|
package/lib/services/redis.js
CHANGED
@@ -8,7 +8,7 @@ var _redis = require("redis");
|
|
8
8
|
var _app = require("../app");
|
9
9
|
var _service = _interopRequireDefault(require("../app/classes/service"));
|
10
10
|
var _cache = require("../app/classes/cache");
|
11
|
-
var
|
11
|
+
var _logger = _interopRequireDefault(require("../services/logger"));
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
13
13
|
/**
|
14
14
|
* Serviço de cache
|
@@ -54,7 +54,7 @@ class RedisService extends _service.default {
|
|
54
54
|
this.log(`✅ Redis Connection is ready`);
|
55
55
|
return true;
|
56
56
|
} catch (error) {
|
57
|
-
|
57
|
+
_logger.default.logger().error(error, `Not connected to Redis Server`);
|
58
58
|
this.isReconnecting = false;
|
59
59
|
return false;
|
60
60
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../src/services/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAsB,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAalD,cAAM,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAS;IAGtB,aAAa;IAiBb,OAAO;IAaP,WAAW;IAMX,gBAAgB;IAyBhB,KAAK,CAAC,QAAQ,EAAE,MAAM;IAa7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA8BhC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAsBpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvC,MAAM,CAAC,QAAQ,EAAE,MAAM;IA2BvB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;IAkBpE,SAAS,CAAC,QAAQ,EAAE,MAAM;IAK1B,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,SAAI;
|
1
|
+
{"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../src/services/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAsB,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAalD,cAAM,gBAAiB,SAAQ,OAAO;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAS;IAGtB,aAAa;IAiBb,OAAO;IAaP,WAAW;IAMX,gBAAgB;IAyBhB,KAAK,CAAC,QAAQ,EAAE,MAAM;IAa7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA8BhC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAsBpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBvC,MAAM,CAAC,QAAQ,EAAE,MAAM;IA2BvB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;IAkBpE,SAAS,CAAC,QAAQ,EAAE,MAAM;IAK1B,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,SAAI;IAkB/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IA2CpD,cAAc,CAAC,IAAI,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB;IA4BY,WAAW,CAAC,QAAQ,EAAE,MAAM;IAe5B,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EACjD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;WAWZ,cAAc,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE;IAGjD,UAAU;CAOxB;AAED,eAAe,gBAAgB,CAAC"}
|
@@ -10,7 +10,7 @@ var _service = _interopRequireDefault(require("../app/classes/service"));
|
|
10
10
|
var _models = require("../models");
|
11
11
|
var _DatabaseHost = require("../models/DatabaseHost");
|
12
12
|
var _database = require("../utils/database");
|
13
|
-
var _logger = _interopRequireDefault(require("
|
13
|
+
var _logger = _interopRequireDefault(require("./logger"));
|
14
14
|
var _security = _interopRequireDefault(require("./security"));
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
16
16
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
@@ -76,7 +76,7 @@ class SequelizeService extends _service.default {
|
|
76
76
|
this.log('✅ All databases connecteds sucessfully', 'success');
|
77
77
|
return true;
|
78
78
|
} catch (error) {
|
79
|
-
|
79
|
+
_logger.default.logger().error(error, `Not connected Sequelize to database`);
|
80
80
|
this.isReconnecting = false;
|
81
81
|
return false;
|
82
82
|
}
|
@@ -201,7 +201,7 @@ class SequelizeService extends _service.default {
|
|
201
201
|
this.log('Database pronto', 'success');
|
202
202
|
}).catch(reason => {
|
203
203
|
this.log('Attemping to connect master database', 'warning');
|
204
|
-
|
204
|
+
_logger.default.logger().warn('Erro ao inicializar o banco de dados, tentando novamente...', reason);
|
205
205
|
if (attempts > 0) {
|
206
206
|
setTimeout(() => this.reconnect(db, attempts - 1), 5000);
|
207
207
|
} else {
|
package/lib/services/socket.js
CHANGED
@@ -10,7 +10,7 @@ var _controller = require("../app/controller");
|
|
10
10
|
var _core = require("../contracts/core");
|
11
11
|
var _authentication = require("../middlewares/authentication");
|
12
12
|
var _express = _interopRequireDefault(require("./express"));
|
13
|
-
var
|
13
|
+
var _logger = _interopRequireDefault(require("../services/logger"));
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
15
15
|
/**
|
16
16
|
* Serviço de gerênciamento de comunicação WS/WSS Socket
|
@@ -40,7 +40,7 @@ class SocketIOService extends _service.default {
|
|
40
40
|
this.server.on('connection', this.onConnection.bind(this));
|
41
41
|
this.log('✅ Socket server created');
|
42
42
|
} catch (error) {
|
43
|
-
|
43
|
+
_logger.default.logger().error(error, `Not connected to SocketIO`);
|
44
44
|
}
|
45
45
|
}
|
46
46
|
async onConnection(socket) {
|
@@ -9,7 +9,8 @@ var _core = require("../../contracts/core");
|
|
9
9
|
var _models = require("../../models");
|
10
10
|
var _services = require("../../services");
|
11
11
|
var _queue = require("../../services/task/queue");
|
12
|
-
var
|
12
|
+
var _logger = _interopRequireDefault(require("../../services/logger"));
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
13
14
|
class EnvironmentSyncQueue extends _queue.QueueTask {
|
14
15
|
getName() {
|
15
16
|
return 'Environment Sync Queue';
|
@@ -69,7 +70,7 @@ class EnvironmentSyncQueue extends _queue.QueueTask {
|
|
69
70
|
}
|
70
71
|
});
|
71
72
|
if (!host) {
|
72
|
-
|
73
|
+
_logger.default.logger().info(env, `Sincronizando relação env-db ${env.uuid}`);
|
73
74
|
this.log(`Sincronizando relação env-db ${env.uuid}`, 'info');
|
74
75
|
await _models.EnvDBHost.create({
|
75
76
|
envUuid: env.uuid,
|
@@ -78,7 +79,7 @@ class EnvironmentSyncQueue extends _queue.QueueTask {
|
|
78
79
|
});
|
79
80
|
}
|
80
81
|
if (!(await _services.DatabaseService.getService().hasDB(env.database, env.envToken))) {
|
81
|
-
|
82
|
+
_logger.default.logger().info(env, `Sincronizando novo banco de dados ${env.uuid}`);
|
82
83
|
this.log(`Sincronizando novo banco de dados ${env.uuid}`, 'info');
|
83
84
|
await _services.DatabaseService.getService().createDB(env.database, env.envToken);
|
84
85
|
}
|
package/lib/utils/index.d.ts
CHANGED
package/lib/utils/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AAEvB,cAAc,WAAW,CAAC"}
|
package/lib/utils/index.js
CHANGED
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
var _exportNames = {
|
7
|
-
Api: true
|
8
|
-
logger: true
|
7
|
+
Api: true
|
9
8
|
};
|
10
9
|
Object.defineProperty(exports, "Api", {
|
11
10
|
enumerable: true,
|
@@ -13,12 +12,6 @@ Object.defineProperty(exports, "Api", {
|
|
13
12
|
return _api.default;
|
14
13
|
}
|
15
14
|
});
|
16
|
-
Object.defineProperty(exports, "logger", {
|
17
|
-
enumerable: true,
|
18
|
-
get: function () {
|
19
|
-
return _logger.default;
|
20
|
-
}
|
21
|
-
});
|
22
15
|
var _api = _interopRequireDefault(require("./api"));
|
23
16
|
var _database = require("./database");
|
24
17
|
Object.keys(_database).forEach(function (key) {
|
@@ -44,7 +37,6 @@ Object.keys(_date).forEach(function (key) {
|
|
44
37
|
}
|
45
38
|
});
|
46
39
|
});
|
47
|
-
var _logger = _interopRequireDefault(require("./logger"));
|
48
40
|
var _session = require("./session");
|
49
41
|
Object.keys(_session).forEach(function (key) {
|
50
42
|
if (key === "default" || key === "__esModule") return;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger-transport.d.ts","sourceRoot":"","sources":["../../src/utils/logger-transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,UAAU,OAAO;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,EAAE,OAAO,YAuCrC"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = _default;
|
7
|
+
var _fs = require("fs");
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
9
|
+
var _stream = require("stream");
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
|
+
function _default(opts) {
|
12
|
+
// garante a pasta existir
|
13
|
+
const dir = _path.default.dirname(opts.destination);
|
14
|
+
(0, _fs.mkdirSync)(dir, {
|
15
|
+
recursive: true
|
16
|
+
});
|
17
|
+
|
18
|
+
// abre o arquivo em modo append
|
19
|
+
const stream = (0, _fs.createWriteStream)(opts.destination, {
|
20
|
+
flags: 'a'
|
21
|
+
});
|
22
|
+
|
23
|
+
// map dos níveis numéricos do pino
|
24
|
+
const levelMap = {
|
25
|
+
trace: 10,
|
26
|
+
debug: 20,
|
27
|
+
info: 30,
|
28
|
+
warn: 40,
|
29
|
+
error: 50,
|
30
|
+
fatal: 60
|
31
|
+
};
|
32
|
+
const onlyLevel = levelMap[opts.level];
|
33
|
+
return new _stream.Writable({
|
34
|
+
objectMode: true,
|
35
|
+
write(chunk, _enc, cb) {
|
36
|
+
chunk = JSON.parse(chunk);
|
37
|
+
try {
|
38
|
+
// só grava se exatamente o nível desejado
|
39
|
+
if (chunk.level === onlyLevel) {
|
40
|
+
stream.write(JSON.stringify(chunk) + '\n');
|
41
|
+
}
|
42
|
+
} catch (e) {
|
43
|
+
// não atrapalha o fluxo de log
|
44
|
+
console.error('custom-target write error', e);
|
45
|
+
} finally {
|
46
|
+
cb();
|
47
|
+
}
|
48
|
+
},
|
49
|
+
final(cb) {
|
50
|
+
stream.end(cb);
|
51
|
+
}
|
52
|
+
});
|
53
|
+
}
|
package/lib/utils/logger.d.ts
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
|
2
|
-
declare const logger: () => Logger<never>;
|
3
|
-
export declare function zipFolder(sourceDir: string, zipFilePath: string): Promise<void>;
|
4
|
-
export declare function compressOldLogs(): void;
|
1
|
+
declare const logger: () => import("pino").Logger<never>;
|
5
2
|
export default logger;
|
6
3
|
//# sourceMappingURL=logger.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM,oCAEX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/lib/utils/logger.js
CHANGED
@@ -3,102 +3,10 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.compressOldLogs = compressOldLogs;
|
7
6
|
exports.default = void 0;
|
8
|
-
|
9
|
-
var _dateFns = require("date-fns");
|
10
|
-
var _fs = require("fs");
|
11
|
-
var _path = _interopRequireDefault(require("path"));
|
12
|
-
var _pino = _interopRequireDefault(require("pino"));
|
13
|
-
var _core = _interopRequireDefault(require("../app/core"));
|
14
|
-
var _archiver = _interopRequireDefault(require("archiver"));
|
7
|
+
var _logger = _interopRequireDefault(require("../services/logger"));
|
15
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
16
|
-
let loggerInstance = null;
|
17
|
-
const createLogger = () => {
|
18
|
-
const basePath = _path.default.resolve(_core.default.settings.getLogger().path, (0, _dateFns.format)(new Date(), 'dd-MM-yyyy'), (0, _dateFns.format)(new Date(), 'HH_mm'));
|
19
|
-
(0, _fs.mkdirSync)(basePath, {
|
20
|
-
recursive: true
|
21
|
-
});
|
22
|
-
const streams = [{
|
23
|
-
level: 'error',
|
24
|
-
stream: (0, _fs.createWriteStream)(basePath + '/error' + _core.default.settings.getLogger().fileformat)
|
25
|
-
}, {
|
26
|
-
level: 'info',
|
27
|
-
stream: (0, _fs.createWriteStream)(basePath + '/info' + _core.default.settings.getLogger().fileformat)
|
28
|
-
}, {
|
29
|
-
level: 'fatal',
|
30
|
-
stream: (0, _fs.createWriteStream)(basePath + '/fatal' + _core.default.settings.getLogger().fileformat)
|
31
|
-
}, {
|
32
|
-
level: 'warn',
|
33
|
-
stream: (0, _fs.createWriteStream)(basePath + '/warn' + _core.default.settings.getLogger().fileformat)
|
34
|
-
}, {
|
35
|
-
level: 'silent',
|
36
|
-
stream: (0, _fs.createWriteStream)(basePath + '/silent' + _core.default.settings.getLogger().fileformat)
|
37
|
-
}, {
|
38
|
-
level: 'trace',
|
39
|
-
stream: (0, _fs.createWriteStream)(basePath + '/trace' + _core.default.settings.getLogger().fileformat)
|
40
|
-
}, {
|
41
|
-
level: 'debug',
|
42
|
-
stream: (0, _fs.createWriteStream)(basePath + '/debug' + _core.default.settings.getLogger().fileformat)
|
43
|
-
}];
|
44
|
-
_core.default.settings.getLogger().console ?? streams.push({
|
45
|
-
stream: process.stdout
|
46
|
-
});
|
47
|
-
return (0, _pino.default)({
|
48
|
-
level: _core.default.settings.getLogger().level,
|
49
|
-
// Define o nível de log
|
50
|
-
timestamp: _pino.default.stdTimeFunctions.isoTime
|
51
|
-
}, _pino.default.multistream(streams));
|
52
|
-
};
|
53
9
|
const logger = () => {
|
54
|
-
|
55
|
-
loggerInstance = createLogger();
|
56
|
-
}
|
57
|
-
return loggerInstance;
|
10
|
+
return _logger.default.logger();
|
58
11
|
};
|
59
|
-
|
60
|
-
/**
|
61
|
-
* Compacta uma pasta em um arquivo zip.
|
62
|
-
* @param sourceDir Caminho da pasta a ser compactada.
|
63
|
-
* @param zipFilePath Caminho de saída do arquivo zip.
|
64
|
-
*/
|
65
|
-
async function zipFolder(sourceDir, zipFilePath) {
|
66
|
-
return new Promise((resolve, reject) => {
|
67
|
-
const output = (0, _fs.createWriteStream)(zipFilePath);
|
68
|
-
const archive = (0, _archiver.default)('zip', {
|
69
|
-
zlib: {
|
70
|
-
level: 9
|
71
|
-
} // nível de compressão
|
72
|
-
});
|
73
|
-
output.on('close', () => {
|
74
|
-
console.log(`✔ Arquivo zip criado com sucesso: ${zipFilePath} (${archive.pointer()} bytes)`);
|
75
|
-
resolve();
|
76
|
-
});
|
77
|
-
output.on('end', () => {
|
78
|
-
console.log('🟡 Arquivo de saída foi fechado.');
|
79
|
-
});
|
80
|
-
archive.on('warning', err => {
|
81
|
-
if (err.code === 'ENOENT') {
|
82
|
-
console.warn('Aviso:', err);
|
83
|
-
} else {
|
84
|
-
reject(err);
|
85
|
-
}
|
86
|
-
});
|
87
|
-
archive.on('error', err => {
|
88
|
-
reject(err);
|
89
|
-
});
|
90
|
-
archive.pipe(output);
|
91
|
-
archive.directory(sourceDir, false); // false = não inclui o caminho completo
|
92
|
-
archive.finalize();
|
93
|
-
});
|
94
|
-
}
|
95
|
-
function compressOldLogs() {
|
96
|
-
const logDir = _core.default.settings.getLogger().path;
|
97
|
-
const zipFilePath = _path.default.join(logDir, `logs-${(0, _dateFns.format)(new Date(), 'dd-MM-yyyy')}.zip`);
|
98
|
-
zipFolder(logDir, zipFilePath).then(() => {
|
99
|
-
logger().info(`✔ Logs antigos compactados em: ${zipFilePath}`);
|
100
|
-
}).catch(err => {
|
101
|
-
logger().error('❌ Erro ao compactar logs antigos:', err);
|
102
|
-
});
|
103
|
-
}
|
104
12
|
var _default = exports.default = logger;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "exodus-framework",
|
3
|
-
"version": "2.0.
|
3
|
+
"version": "2.0.9979",
|
4
4
|
"description": "Exodus Framework",
|
5
5
|
"author": "jhownpaixao",
|
6
6
|
"license": "ISC",
|
@@ -14,7 +14,7 @@
|
|
14
14
|
"build": "rimraf ./lib && npm run build:types && babel src --extensions \".js,.ts\" --out-dir lib --copy-files --no-copy-ignored",
|
15
15
|
"build:types": "tsc --emitDeclarationOnly",
|
16
16
|
"dev": "ts-node-dev -r tsconfig-paths/register --respawn --transpile-only --ignore-watch node_modules src/server.ts",
|
17
|
-
"start": "node
|
17
|
+
"start": "node lib/server.js",
|
18
18
|
"update": "npm run build && npm publish",
|
19
19
|
"fix": "npm run fix:eslint && npm run fix:prettier",
|
20
20
|
"fix:eslint": "eslint --fix \"**/*.ts\" ",
|
@@ -47,7 +47,7 @@
|
|
47
47
|
"node-jose": "^2.2.0",
|
48
48
|
"node-schedule": "^2.1.1",
|
49
49
|
"npm": "^11.3.0",
|
50
|
-
"pino": "^9.
|
50
|
+
"pino": "^9.6.0",
|
51
51
|
"pino-http": "^10.2.0",
|
52
52
|
"pino-multi-stream": "^6.0.0",
|
53
53
|
"qs": "^6.13.0",
|