fix(validator): corrections to no leak like crazy
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import build from "pino-abstract-transport";
|
||||
import { db } from "../db/db.js";
|
||||
import { logs, type Log } from "../db/schema/logs.js";
|
||||
import { checkENV } from "../utils/envValidator.js";
|
||||
import { tryCatch } from "../utils/tryCatch.js";
|
||||
|
||||
const pinoLogLevels: any = {
|
||||
10: "trace",
|
||||
@@ -19,14 +19,21 @@ export default async function (log: Log) {
|
||||
for await (let obj of source) {
|
||||
// convert to the name to make it more easy to find later :P
|
||||
const levelName = pinoLogLevels[obj.level] || "unknown";
|
||||
await db.insert(logs).values({
|
||||
level: levelName,
|
||||
module: obj?.module.toLowerCase(),
|
||||
subModule: obj?.subModule.toLowerCase(),
|
||||
hostname: obj?.hostname.toLowerCase(),
|
||||
message: obj.msg,
|
||||
stack: obj?.stack,
|
||||
});
|
||||
|
||||
const res = await tryCatch(
|
||||
db.insert(logs).values({
|
||||
level: levelName,
|
||||
module: obj?.module?.toLowerCase(),
|
||||
subModule: obj?.subModule?.toLowerCase(),
|
||||
hostname: obj?.hostname?.toLowerCase(),
|
||||
message: obj.msg,
|
||||
stack: obj?.stack,
|
||||
})
|
||||
);
|
||||
|
||||
if (res.error) {
|
||||
console.log(res.error);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (err) {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import pino, { type Logger } from "pino";
|
||||
import { env } from "../utils/envValidator.js";
|
||||
|
||||
export let logLevel = process.env.LOG_LEVEL || "info";
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import build from "pino-abstract-transport";
|
||||
import { db } from "../db/db.js";
|
||||
import { logs, type Log } from "../db/schema/logs.js";
|
||||
import { env } from "../utils/envValidator.js";
|
||||
import { type Log } from "../db/schema/logs.js";
|
||||
import { validateEnv } from "../utils/envValidator.js";
|
||||
import { sendNotify } from "../utils/notify.js";
|
||||
const env = validateEnv(process.env);
|
||||
|
||||
const pinoLogLevels: any = {
|
||||
10: "trace",
|
||||
@@ -12,49 +13,6 @@ const pinoLogLevels: any = {
|
||||
60: "fatal",
|
||||
};
|
||||
// discord function
|
||||
async function sendFatal(log: Log) {
|
||||
const webhookUrl = process.env.WEBHOOK_URL!;
|
||||
let payload = {
|
||||
embeds: [
|
||||
{
|
||||
title: `🚨 ${env.PROD_PLANT_TOKEN}: encounter a critical error `,
|
||||
description: `Where was the error: ${log.module}${
|
||||
log.subModule ? `-${log.subModule}` : ""
|
||||
}`,
|
||||
color: 0xff0000, // red
|
||||
fields: [
|
||||
{
|
||||
name: "Message",
|
||||
value: log.message,
|
||||
inline: false,
|
||||
},
|
||||
{
|
||||
name: "Hostname",
|
||||
value: log.hostname,
|
||||
inline: false,
|
||||
},
|
||||
{
|
||||
name: "Stack",
|
||||
value:
|
||||
"```" +
|
||||
(log.stack?.slice(0, 1000) ?? "no stack") +
|
||||
"```",
|
||||
},
|
||||
],
|
||||
footer: {
|
||||
text: "LST Logger 💀",
|
||||
},
|
||||
timestamp: new Date().toISOString(),
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
await fetch(webhookUrl, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
}
|
||||
|
||||
export default async function (log: Log) {
|
||||
//const {username, service, level, msg, ...extra} = log;
|
||||
@@ -76,14 +34,15 @@ export default async function (log: Log) {
|
||||
? String(obj.hostname).toLowerCase()
|
||||
: undefined,
|
||||
message: obj.msg,
|
||||
stack: obj.stack ? obj.stack : undefined,
|
||||
};
|
||||
if (!process.env.WEBHOOK_URL) {
|
||||
console.log("webhook missing?");
|
||||
console.log("WebHook is missing we wont move foward.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj.level >= 60 && obj.notify) {
|
||||
sendFatal(newlog as Log);
|
||||
sendNotify(newlog as Log);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user