write own logger
since npmlog wants to add in "node-pre-gyp" onto every line
This commit is contained in:
parent
0276b3ff64
commit
a259ee8da2
8 changed files with 103 additions and 29 deletions
|
@ -23,7 +23,6 @@
|
||||||
"jimp": "^0.16.1",
|
"jimp": "^0.16.1",
|
||||||
"murmurhash": "^2.0.0",
|
"murmurhash": "^2.0.0",
|
||||||
"node-fetch": "^2.6.1",
|
"node-fetch": "^2.6.1",
|
||||||
"npmlog": "^4.1.2",
|
|
||||||
"sharp": "^0.28.3",
|
"sharp": "^0.28.3",
|
||||||
"sqlite3": "^5.0.2"
|
"sqlite3": "^5.0.2"
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,7 +8,6 @@ specifiers:
|
||||||
jimp: ^0.16.1
|
jimp: ^0.16.1
|
||||||
murmurhash: ^2.0.0
|
murmurhash: ^2.0.0
|
||||||
node-fetch: ^2.6.1
|
node-fetch: ^2.6.1
|
||||||
npmlog: ^4.1.2
|
|
||||||
prettier: ^2.3.0
|
prettier: ^2.3.0
|
||||||
sharp: ^0.28.3
|
sharp: ^0.28.3
|
||||||
sqlite3: ^5.0.2
|
sqlite3: ^5.0.2
|
||||||
|
@ -16,11 +15,10 @@ specifiers:
|
||||||
dependencies:
|
dependencies:
|
||||||
colorcolor: 1.1.1
|
colorcolor: 1.1.1
|
||||||
dumpy: github.com/Cynosphere/dumpy.js/5fc22353cdcb97084bab572266390e780d9f7a7b
|
dumpy: github.com/Cynosphere/dumpy.js/5fc22353cdcb97084bab572266390e780d9f7a7b
|
||||||
eris: github.com/abalabahaha/eris/4bb65f07114b01bf52e0ad2eac6a494fad45616e
|
eris: github.com/abalabahaha/eris/53da0d5111cb884bffd2f2c1d0d5674a98558c26
|
||||||
jimp: 0.16.1
|
jimp: 0.16.1
|
||||||
murmurhash: 2.0.0
|
murmurhash: 2.0.0
|
||||||
node-fetch: 2.6.1
|
node-fetch: 2.6.1
|
||||||
npmlog: 4.1.2
|
|
||||||
sharp: 0.28.3
|
sharp: 0.28.3
|
||||||
sqlite3: 5.0.2
|
sqlite3: 5.0.2
|
||||||
|
|
||||||
|
@ -2258,10 +2256,10 @@ packages:
|
||||||
node-fetch: 2.6.1
|
node-fetch: 2.6.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
github.com/abalabahaha/eris/4bb65f07114b01bf52e0ad2eac6a494fad45616e:
|
github.com/abalabahaha/eris/53da0d5111cb884bffd2f2c1d0d5674a98558c26:
|
||||||
resolution: {tarball: https://codeload.github.com/abalabahaha/eris/tar.gz/4bb65f07114b01bf52e0ad2eac6a494fad45616e}
|
resolution: {tarball: https://codeload.github.com/abalabahaha/eris/tar.gz/53da0d5111cb884bffd2f2c1d0d5674a98558c26}
|
||||||
name: eris
|
name: eris
|
||||||
version: 0.15.2-dev
|
version: 0.16.0-dev
|
||||||
engines: {node: '>=10.4.0'}
|
engines: {node: '>=10.4.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
ws: 7.5.3
|
ws: 7.5.3
|
||||||
|
|
31
src/index.js
31
src/index.js
|
@ -1,6 +1,5 @@
|
||||||
const Eris = require("eris");
|
const Eris = require("eris");
|
||||||
const logger = require("npmlog");
|
const logger = require("./lib/logger.js");
|
||||||
logger.level = "verbose";
|
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const {resolve} = require("path");
|
const {resolve} = require("path");
|
||||||
const sqlite3 = require("sqlite3");
|
const sqlite3 = require("sqlite3");
|
||||||
|
@ -29,9 +28,9 @@ function registerCommand(cmdObj) {
|
||||||
const aliases = cmdObj.getAliases();
|
const aliases = cmdObj.getAliases();
|
||||||
logger.info(
|
logger.info(
|
||||||
"hf:cmd",
|
"hf:cmd",
|
||||||
"Registered command '%s'%s",
|
`Registered command '${cmdObj.name}'${
|
||||||
cmdObj.name,
|
|
||||||
aliases.length > 0 ? ` (aliases: ${aliases.join(", ")})` : ""
|
aliases.length > 0 ? ` (aliases: ${aliases.join(", ")})` : ""
|
||||||
|
}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,7 +50,7 @@ const CommandDispatcher = require("./lib/commandDispatcher.js");
|
||||||
|
|
||||||
for (const file of fs.readdirSync(resolve(__dirname, "modules"))) {
|
for (const file of fs.readdirSync(resolve(__dirname, "modules"))) {
|
||||||
require(resolve(__dirname, "modules", file));
|
require(resolve(__dirname, "modules", file));
|
||||||
logger.info("hf:modules", "Loaded module: '%s'", file);
|
logger.info("hf:modules", `Loaded module: '${file}'`);
|
||||||
}
|
}
|
||||||
|
|
||||||
bot.on("messageCreate", async (msg) => {
|
bot.on("messageCreate", async (msg) => {
|
||||||
|
@ -77,10 +76,7 @@ bot.on("ready", async () => {
|
||||||
logger.info("hf:main", "Connected to Discord.");
|
logger.info("hf:main", "Connected to Discord.");
|
||||||
logger.info(
|
logger.info(
|
||||||
"hf:main",
|
"hf:main",
|
||||||
"Logged in as: %s#%s (%s)",
|
`Logged in as: ${bot.user.username}#${bot.user.discriminator} (${bot.user.id})`
|
||||||
bot.user.username,
|
|
||||||
bot.user.discriminator,
|
|
||||||
bot.user.id
|
|
||||||
);
|
);
|
||||||
|
|
||||||
const channel = await bot.getDMChannel(config.owner_id);
|
const channel = await bot.getDMChannel(config.owner_id);
|
||||||
|
@ -90,26 +86,29 @@ bot.on("ready", async () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
bot.on("error", (err) => {
|
bot.on("error", (err) => {
|
||||||
logger.error("hf:main", "Catching error:", err);
|
logger.error("hf:main", "Catching error: " + err);
|
||||||
});
|
});
|
||||||
bot.on("warn", (err) => {
|
bot.on("warn", (err) => {
|
||||||
logger.warn("hf:main", "Catching warn:", err);
|
logger.warn("hf:main", "Catching warn: " + err);
|
||||||
});
|
});
|
||||||
|
|
||||||
bot.on("shardDisconnect", (err, id) => {
|
bot.on("shardDisconnect", (err, id) => {
|
||||||
logger.verbose("hf:shard", "Disconnecting from shard %s: %s", id, err);
|
logger.verbose("hf:shard", `Disconnecting from shard ${id}: ${err}`);
|
||||||
});
|
});
|
||||||
bot.on("shardResume", (id) => {
|
bot.on("shardResume", (id) => {
|
||||||
logger.verbose("hf:shard", "Resuming shard %s", id);
|
logger.verbose("hf:shard", "Resuming on shard " + id);
|
||||||
});
|
});
|
||||||
bot.on("shardPreReady", (id) => {
|
bot.on("shardPreReady", (id) => {
|
||||||
logger.verbose("hf:shard", "Shard %s getting ready", id);
|
logger.verbose("hf:shard", `Shard ${id} getting ready`);
|
||||||
});
|
});
|
||||||
bot.on("shardReady", (id) => {
|
bot.on("shardReady", (id) => {
|
||||||
logger.verbose("hf:shard", "Shard %s ready", id);
|
logger.verbose("hf:shard", `Shard ${id} ready`);
|
||||||
});
|
});
|
||||||
bot.on("unknown", (packet, id) => {
|
bot.on("unknown", (packet, id) => {
|
||||||
logger.verbose("hf:main", "Shard %s caught unknown packet: %j", id, packet);
|
logger.verbose(
|
||||||
|
"hf:main",
|
||||||
|
`Shard ${id} caught unknown packet: ${JSON.stringify(packet)}`
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
bot.connect();
|
bot.connect();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const logger = require("npmlog");
|
const logger = require("./logger.js");
|
||||||
const {pastelize, getTopColor} = require("./utils.js");
|
const {pastelize, getTopColor} = require("./utils.js");
|
||||||
|
|
||||||
function parseArguments(str) {
|
function parseArguments(str) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const logger = require("npmlog");
|
const logger = require("./logger.js");
|
||||||
|
|
||||||
const eventTable = {};
|
const eventTable = {};
|
||||||
|
|
||||||
|
|
78
src/lib/logger.js
Normal file
78
src/lib/logger.js
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
const ESCAPE = "\x1b";
|
||||||
|
|
||||||
|
const NORMAL = "[3";
|
||||||
|
const BRIGHT = "[9";
|
||||||
|
const NORMAL_BG = "[4";
|
||||||
|
const BRIGHT_BG = "[10";
|
||||||
|
|
||||||
|
const NAMES = [
|
||||||
|
"Black",
|
||||||
|
"Red",
|
||||||
|
"Green",
|
||||||
|
"Yellow",
|
||||||
|
"Blue",
|
||||||
|
"Magenta",
|
||||||
|
"Cyan",
|
||||||
|
"White",
|
||||||
|
];
|
||||||
|
|
||||||
|
const COLORS = {};
|
||||||
|
for (const index in NAMES) {
|
||||||
|
COLORS[NAMES[index].toUpperCase()] = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
COLORS.DEFAULT = 9;
|
||||||
|
|
||||||
|
function color(name, bright = false, bg = false) {
|
||||||
|
name = name.toUpperCase();
|
||||||
|
|
||||||
|
let out = "" + ESCAPE;
|
||||||
|
if (bg) {
|
||||||
|
if (bright && name != "DEFAULT") {
|
||||||
|
out += BRIGHT_BG;
|
||||||
|
} else {
|
||||||
|
out += NORMAL_BG;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (bright && name != "DEFAULT") {
|
||||||
|
out += BRIGHT;
|
||||||
|
} else {
|
||||||
|
out += NORMAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
out += COLORS[name] + "m";
|
||||||
|
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
const LEVEL_COLORS = {
|
||||||
|
silly: ["magenta", true],
|
||||||
|
verbose: ["green", true],
|
||||||
|
debug: ["cyan", true],
|
||||||
|
log: ["blue", false],
|
||||||
|
info: ["blue", false],
|
||||||
|
warn: ["yellow", false],
|
||||||
|
error: ["red", false],
|
||||||
|
};
|
||||||
|
|
||||||
|
function baseLogger(prefix, level, message) {
|
||||||
|
level = level || "info";
|
||||||
|
|
||||||
|
let out = "";
|
||||||
|
|
||||||
|
const [col, bright] = LEVEL_COLORS[level];
|
||||||
|
out += `${color(col, bright)}[${level.toUpperCase()}] `;
|
||||||
|
|
||||||
|
out += `${color("magenta")}[${prefix}] ${color("default")}`;
|
||||||
|
|
||||||
|
out += message;
|
||||||
|
|
||||||
|
console.log(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {};
|
||||||
|
for (const level in LEVEL_COLORS) {
|
||||||
|
module.exports[level] = (prefix, message) =>
|
||||||
|
baseLogger(prefix, level, message);
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
const logger = require("npmlog");
|
const logger = require("./logger.js");
|
||||||
|
|
||||||
const timerTable = {};
|
const timerTable = {};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const Command = require("../lib/command.js");
|
const Command = require("../lib/command.js");
|
||||||
const CATEGORY = "bot";
|
const CATEGORY = "bot";
|
||||||
|
|
||||||
const logger = require("npmlog");
|
const logger = require("../lib/logger.js");
|
||||||
const child_process = require("child_process");
|
const child_process = require("child_process");
|
||||||
const {inspect} = require("util");
|
const {inspect} = require("util");
|
||||||
const {resolve} = require("path");
|
const {resolve} = require("path");
|
||||||
|
@ -57,7 +57,7 @@ reload.callback = function (msg, line) {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
logger.info("hf:modules", "Reloading module: '%s'", line);
|
logger.info("hf:modules", `Reloading module: '${line}'`);
|
||||||
delete require.cache[require.resolve(`./${line}.js`)];
|
delete require.cache[require.resolve(`./${line}.js`)];
|
||||||
require(`./${line}.js`);
|
require(`./${line}.js`);
|
||||||
return {reaction: "\uD83D\uDC4C"};
|
return {reaction: "\uD83D\uDC4C"};
|
||||||
|
|
Loading…
Reference in a new issue