summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-04-20 12:19:11 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2017-04-20 12:19:11 +0200
commitdbee8b073b0103162408299df6ae4e50edde73b9 (patch)
tree54d9b22204c08b2007ada7f4f56a6a4f376ae8c4
parente32769eb47362ec7353014417a9edd4f1be5cc83 (diff)
downloaddiscordbot-dbee8b073b0103162408299df6ae4e50edde73b9.tar.gz
discordbot-dbee8b073b0103162408299df6ae4e50edde73b9.zip
integrate loggly
-rw-r--r--bot.js48
-rw-r--r--package.json2
-rw-r--r--responses.js2
3 files changed, 36 insertions, 16 deletions
diff --git a/bot.js b/bot.js
index d4687b9..ae1d4c6 100644
--- a/bot.js
+++ b/bot.js
@@ -6,6 +6,8 @@ const PREVIEW = process.env.PREVIEW || true;
const sqlite = require("sqlite"),
path = require("path"),
+ winston = require("winston"),
+ loggly = require("winston-loggly-bulk"),
Commando = require("discord.js-commando"),
oneLine = require("common-tags").oneLine,
client = new Commando.Client({
@@ -17,43 +19,61 @@ const sqlite = require("sqlite"),
}),
responses = require("./responses");
-const DISCORD_TOKEN = process.env.DISCORD_TOKEN;
+const DISCORD_TOKEN = process.env.DISCORD_TOKEN,
+ LOGGLY_TOKEN = process.env.LOGGLY_TOKEN;
+
+const logger = new (winston.Logger)({
+ transports: [
+ new (winston.transports.Console)({
+ timestamp: true,
+ colorize: true
+ })
+ ]
+});
+
+if (LOGGLY_TOKEN)
+ logger.add(winston.transports.Loggly, {
+ inputToken: LOGGLY_TOKEN,
+ subdomain: "kvahuja",
+ tags: ["frontend", "discordbot"],
+ json: true
+ });
client
- .on("error", console.error)
- .on("warn", console.warn)
- .on("debug", console.log)
+ .on("error", logger.error)
+ .on("warn", logger.warn)
+ .on("debug", logger.info)
.on("ready", () => {
- console.log(`Client ready; logged in as ${client.user.username}#${client.user.discriminator} (${client.user.id})`);
+ logger.info(`Client ready; logged in as ${client.user.username}#${client.user.discriminator} (${client.user.id})`);
responses.rotateGameStatus(client);
})
- .on('disconnect', () => { console.warn('Disconnected!'); })
- .on('reconnecting', () => { console.warn('Reconnecting...'); })
+ .on('disconnect', () => { logger.warn('Disconnected!'); })
+ .on('reconnecting', () => { logger.warn('Reconnecting...'); })
.on('commandError', (cmd, err) => {
if(err instanceof Commando.FriendlyError) return;
- console.error(`Error in command ${cmd.groupID}:${cmd.memberName}`, err);
+ logger.error(`Error in command ${cmd.groupID}:${cmd.memberName}`, err);
})
.on('commandBlocked', (msg, reason) => {
- console.log(oneLine`
+ logger.info(oneLine`
Command ${msg.command ? `${msg.command.groupID}:${msg.command.memberName}` : ''}
blocked; ${reason}
`);
})
.on('commandPrefixChange', (guild, prefix) => {
- console.log(oneLine`
+ logger.info(oneLine`
Prefix ${prefix === '' ? 'removed' : `changed to ${prefix || 'the default'}`}
${guild ? `in guild ${guild.name} (${guild.id})` : 'globally'}.
`);
})
.on('commandStatusChange', (guild, command, enabled) => {
- console.log(oneLine`
+ logger.info(oneLine`
Command ${command.groupID}:${command.memberName}
${enabled ? 'enabled' : 'disabled'}
${guild ? `in guild ${guild.name} (${guild.id})` : 'globally'}.
- `);
+ `);
})
.on('groupStatusChange', (guild, group, enabled) => {
- console.log(oneLine`
+ logger.info(oneLine`
Group ${group.id}
${enabled ? 'enabled' : 'disabled'}
${guild ? `in guild ${guild.name} (${guild.id})` : 'globally'}.
@@ -78,5 +98,5 @@ client.registry
client.login(DISCORD_TOKEN);
process.on("unhandledRejection", err => {
- console.error("Uncaught Promise Error: \n" + err.stack);
+ logger.error("Uncaught Promise Error", err);
});
diff --git a/package.json b/package.json
index 1ddb489..4536036 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,8 @@
"uws": "^0.14.1",
"webstomp": "0.0.10",
"webstomp-client": "^1.0.6",
+ "winston": "^2.3.1",
+ "winston-loggly-bulk": "^1.4.2",
"ws": "^2.2.3"
}
}
diff --git a/responses.js b/responses.js
index b26b344..62d11e2 100644
--- a/responses.js
+++ b/responses.js
@@ -38,8 +38,6 @@ function track(command) {
// direct analytics
function trackAction(msg, action, ign="") {
- console.log("--------------------------------------");
- console.log(msg.guild.id);
if (GOOGLEANALYTICS_ID == undefined) return;
const user = ua(GOOGLEANALYTICS_ID, msg.author.id,
{ strictCidFormat: false });