@quartz-labs/logger 1.0.2 → 1.0.3
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/index.d.ts +1 -0
- package/dist/logger.d.ts +1 -0
- package/dist/logger.js +30 -5
- package/dist/logger.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/logger.d.ts
CHANGED
package/dist/logger.js
CHANGED
|
@@ -5,7 +5,6 @@ import config from "./config.js";
|
|
|
5
5
|
export class AppLogger {
|
|
6
6
|
logger;
|
|
7
7
|
dailyErrorCache = new Map();
|
|
8
|
-
// TODO: Clear cache once a day
|
|
9
8
|
dailyErrorCacheTimeMs;
|
|
10
9
|
constructor(options) {
|
|
11
10
|
if (options.dailyErrorCacheTimeMs === undefined || options.dailyErrorCacheTimeMs < 0) {
|
|
@@ -14,10 +13,10 @@ export class AppLogger {
|
|
|
14
13
|
else {
|
|
15
14
|
this.dailyErrorCacheTimeMs = options.dailyErrorCacheTimeMs;
|
|
16
15
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
// Clear cache once a day
|
|
17
|
+
setInterval(() => {
|
|
18
|
+
this.dailyErrorCache.clear();
|
|
19
|
+
}, 1000 * 60 * 60 * 24);
|
|
21
20
|
const mailTransporter = nodemailer.createTransport({
|
|
22
21
|
host: config.EMAIL_HOST,
|
|
23
22
|
port: config.EMAIL_PORT,
|
|
@@ -27,6 +26,10 @@ export class AppLogger {
|
|
|
27
26
|
pass: config.EMAIL_PASSWORD,
|
|
28
27
|
},
|
|
29
28
|
});
|
|
29
|
+
const consoleFormat = winston.format.combine(winston.format.colorize(), winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.printf(({ level, message, timestamp }) => {
|
|
30
|
+
return `[${timestamp}] ${level}: ${message}`;
|
|
31
|
+
}));
|
|
32
|
+
const mailFormat = winston.format.combine(winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.json({ space: 2 }));
|
|
30
33
|
const dailyErrorCacheTimeMinutes = Math.round(this.dailyErrorCacheTimeMs / 1000 / 60);
|
|
31
34
|
const mailTransportInstance = new winston.transports.Stream({
|
|
32
35
|
stream: new Writable({
|
|
@@ -84,5 +87,27 @@ export class AppLogger {
|
|
|
84
87
|
this.logger.error(reason);
|
|
85
88
|
});
|
|
86
89
|
}
|
|
90
|
+
async sendWarningEmail(subject, message) {
|
|
91
|
+
try {
|
|
92
|
+
const mailTransporter = nodemailer.createTransport({
|
|
93
|
+
host: config.EMAIL_HOST,
|
|
94
|
+
port: config.EMAIL_PORT,
|
|
95
|
+
secure: false,
|
|
96
|
+
auth: {
|
|
97
|
+
user: config.EMAIL_USER,
|
|
98
|
+
pass: config.EMAIL_PASSWORD,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
await Promise.all(config.EMAIL_TO.map(admin => mailTransporter.sendMail({
|
|
102
|
+
from: config.EMAIL_FROM,
|
|
103
|
+
to: admin,
|
|
104
|
+
subject: `${subject}`,
|
|
105
|
+
text: message,
|
|
106
|
+
})));
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
this.logger.error(`Failed to send warning email: ${error}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
87
112
|
}
|
|
88
113
|
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,OAAO,EAAE,EAAE,YAAY,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,OAAO,EAAE,EAAE,YAAY,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,aAAa,CAAC;AASjC,MAAM,OAAO,SAAS;IACR,MAAM,CAAS;IACjB,eAAe,GAAG,IAAI,GAAG,EAA2B,CAAC;IACrD,qBAAqB,CAAS;IAEtC,YAAY,OAAyB;QACjC,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,qBAAqB,GAAG,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC/D,CAAC;QAED,yBAAyB;QACzB,WAAW,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAExB,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;YAC/C,IAAI,EAAE,MAAM,CAAC,UAAU;YACvB,IAAI,EAAE,MAAM,CAAC,UAAU;YACvB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE;gBACF,IAAI,EAAE,MAAM,CAAC,UAAU;gBACvB,IAAI,EAAE,MAAM,CAAC,cAAc;aAC9B;SACJ,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC3D,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;YACpD,OAAO,IAAI,SAAS,KAAK,KAAK,KAAK,OAAO,EAAE,CAAC;QACjD,CAAC,CAAC,CACL,CAAA;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CACrC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC3D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CACnC,CAAA;QAED,MAAM,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;QACtF,MAAM,qBAAqB,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YACxD,MAAM,EAAE,IAAI,QAAQ,CAAC;gBACjB,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;oBAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1C,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;oBAEpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACnF,UAAU,CAAC,KAAK,EAAE,CAAC;oBAEnB,qFAAqF;oBACrF,IAAI,GAAG,GAAG,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBACzD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC;4BAC/C,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,WAAW,UAAU,CAAC,KAAK,wBAAwB,0BAA0B,WAAW;4BACzG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,QAAQ,CAAC;wBAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;4BAClC,eAAe,CAAC,QAAQ,CAAC;gCACrB,IAAI,EAAE,MAAM,CAAC,UAAU;gCACvB,EAAE,EAAE,KAAK;gCACT,OAAO,EAAE,YAAY;gCACrB,IAAI,EAAE,OAAO;6BAChB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gCACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;4BACzD,CAAC,CAAC,CAAC;wBACP,CAAC;wBAED,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;wBACrB,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAC9B,CAAC;oBAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAE/C,QAAQ,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC;gBAChB,CAAC;aACJ,CAAC;YACF,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;YACvB,KAAK,EAAE,MAAM;YACb,UAAU,EAAE;gBACR,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBACjD,qBAAqB;aACxB;YACD,iBAAiB,EAAE;gBACf,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBACjD,qBAAqB;aACxB;YACD,iBAAiB,EAAE;gBACf,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBACjD,qBAAqB;aACxB;SACJ,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,OAAe;QAC7D,IAAI,CAAC;YACD,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;gBAC/C,IAAI,EAAE,MAAM,CAAC,UAAU;gBACvB,IAAI,EAAE,MAAM,CAAC,UAAU;gBACvB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE;oBACF,IAAI,EAAE,MAAM,CAAC,UAAU;oBACvB,IAAI,EAAE,MAAM,CAAC,cAAc;iBAC9B;aACJ,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC1C,eAAe,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,MAAM,CAAC,UAAU;gBACvB,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,GAAG,OAAO,EAAE;gBACrB,IAAI,EAAE,OAAO;aAChB,CAAC,CACL,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;CACJ"}
|