process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; import axios from "axios"; import { pino } from "pino"; import build from "pino-abstract-transport"; const pinoLogLevels: any = { 10: "trace", 20: "debug", 30: "info", 40: "warn", 50: "error", 60: "fatal", }; export default async function buildGoTransport() { try { return build(async function (source) { for await (let obj of source) { // Insert log entry into the PostgreSQL database using Drizzle ORM // 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, // username: obj?.username.toLowerCase(), // service: obj?.service.toLowerCase(), // message: obj.msg, // }); axios.post(`${process.env.LST_BASE_URL}/api/v1/log`, { service: obj?.service.toLowerCase(), level: levelName, message: obj.msg, }); // console.log(`Go log level: ${levelName}`); } }); } catch (err) { console.error("Error inserting log into database:", err); } }