diff --git a/package.json b/package.json index 84d25bf..f2779c2 100644 --- a/package.json +++ b/package.json @@ -5,15 +5,15 @@ "main": "bot.js", "scripts": { "start": "node --experimental-modules src/bot.mjs", - "rmlog": "rm logs/*.log || true" + "rmlog": "rm logs/*.log || true", + "debug": "npm run rmlog ; npm start" }, "author": "Flummi & jkhsjdhjs", "license": "WTFPL", "dependencies": { "flumm-fetch-cookies": "git+https://gitfap.de/keinBot/flumm-fetch-cookies", - "long-timeout": "^0.1.1", + "cuffeo": "git+https://gitfap.de/keinBot/cuffeo", "pg-promise": "^7.3.2", - "stringify-object": "^3.3.0", - "winston": "^2.4.0" + "stringify-object": "^3.3.0" } } diff --git a/src/bot.mjs b/src/bot.mjs index 89fb508..0aaba08 100644 --- a/src/bot.mjs +++ b/src/bot.mjs @@ -1,4 +1,4 @@ -import { logger } from "./inc/log"; +import logger from "./inc/log"; import { read, cfg } from "./inc/cfg"; import { default as config } from "../cfg/config.json"; diff --git a/src/inc/events/ctcp.mjs b/src/inc/events/ctcp.mjs index 51b214a..b4a9219 100644 --- a/src/inc/events/ctcp.mjs +++ b/src/inc/events/ctcp.mjs @@ -1,4 +1,4 @@ -import { logger } from "../log"; +import logger from "../log"; const versions = [ "AmIRC.1 (8 Bit) for Commodore Amiga 500", diff --git a/src/inc/events/message.mjs b/src/inc/events/message.mjs index 3007897..1e46537 100644 --- a/src/inc/events/message.mjs +++ b/src/inc/events/message.mjs @@ -1,4 +1,4 @@ -import { logger } from "../log"; +import logger from "../log"; import { read, cfg } from "../cfg"; import { getLevel } from "../../inc/admin"; diff --git a/src/inc/log.mjs b/src/inc/log.mjs index 62a47f4..460363f 100644 --- a/src/inc/log.mjs +++ b/src/inc/log.mjs @@ -1,27 +1,15 @@ -//const winston = require("winston"); -import winston from "winston"; +import fs from "fs"; -const logger = new (winston.Logger)({ - transports: [ - new (winston.transports.File)({ - name: "debug-file", - filename: `./logs/${~~(Date.now() / 1000)}_debug.log`, - level: "debug" - }), - new (winston.transports.File)({ - name: "info-file", - filename: `./logs/${~~(Date.now() / 1000)}_info.log`, - level: "info" - }), - new (winston.transports.File)({ - name: "error-file", - filename: `./logs/${~~(Date.now() / 1000)}_error.log`, - level: "error" - }), - new (winston.transports.Console)({ - level: "info" - }) - ] +const logger = ["debug", "info", "error"]; +const logfiles = logger.reduce((a, b) => ({...a, [b]: fs.createWriteStream(`./logs/${~~(Date.now() / 1000)}_${b}.log`)}), {}); + +export default new Proxy({}, { + get: (_, prop) => (msg, timestamp = new Date().toLocaleString()) => + logger.includes(prop) && + logfiles[prop].write(JSON.stringify({ + level: prop, + message: msg, + timestamp: timestamp + }) + "\n") && + console.log(timestamp, prop, msg) }); - -export { logger }; \ No newline at end of file