import { createLogger, format, transports } from "winston" import { config } from "./configuration" const printFn = format.printf(({ guildId, level, message, errorCode, requestId, timestamp: logTimestamp }: { [k: string]: string }) => { return `[${guildId}][${level}][${logTimestamp}][${errorCode ? `[${errorCode}]` : `[]`}][${requestId ? `[${requestId}]` : `[]`}]:${message}` }) const logFormat = format.combine( format.timestamp(), printFn ) const consoleTransports = [ new transports.Console({ format: logFormat }) ] const logger = createLogger({ level: config.debug ? 'debug' : 'info', format: logFormat, silent: config.silent, transports: consoleTransports }) logger.info("text", { requestId: "2", guildId: "asd" })