Add discord logger

This commit is contained in:
Ethan Lane 2024-06-18 18:39:58 +01:00
parent 90a7dbee39
commit c1ab6d11ec
4 changed files with 150 additions and 6 deletions

View file

@ -1,4 +1,5 @@
import { Logger, createLogger, format, transports } from "winston";
import DiscordTransport from "winston-discord-transport";
export default class AppLogger {
public static Logger: Logger;
@ -20,7 +21,7 @@ export default class AppLogger {
),
defaultMeta: { service: "bot" },
transports: [
new transports.File({ filename: "error.log", level: "error" }),
new transports.File({ filename: "priority.log", level: "warn" }),
new transports.File({ filename: "combined.log" }),
],
});
@ -34,6 +35,18 @@ export default class AppLogger {
)}));
}
if (process.env.BOT_LOG_DISCORD_ENABLE == "true") {
if (process.env.BOT_LOG_DISCORD_WEBHOOK) {
logger.add(new DiscordTransport({
webhook: process.env.BOT_LOG_DISCORD_WEBHOOK.toString(),
defaultMeta: { service: process.env.BOT_LOG_DISCORD_SERVICE },
level: process.env.BOT_LOG_DISCORD_LEVEL,
}));
} else {
throw "BOT_LOG_DISCORD_WEBHOOK is required to enable discord logger support.";
}
}
AppLogger.Logger = logger;
AppLogger.LogInfo("AppLogger", `Log Level: ${logLevel}`);