Skip to content

Commit f8ad2d2

Browse files
committed
Define a custom winston logger
1 parent d7c99e4 commit f8ad2d2

File tree

5 files changed

+31
-9
lines changed

5 files changed

+31
-9
lines changed

lib/bot.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import _ from 'lodash';
22
import irc from 'irc-upd';
3-
import logger from 'winston';
43
import discord from 'discord.js';
4+
import logger from './logger';
55
import { ConfigurationError } from './errors';
66
import { validateChannelMapping } from './validators';
77
import { formatFromDiscordToIRC, formatFromIRCToDiscord } from './formatting';

lib/index.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
#!/usr/bin/env node
22

3-
import logger from 'winston';
43
import { createBots } from './helpers';
54

6-
/* istanbul ignore next */
7-
if (process.env.NODE_ENV === 'development') {
8-
logger.level = 'debug';
9-
}
10-
115
/* istanbul ignore next */
126
if (!module.parent) {
137
require('./cli').default();

lib/logger.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import winston, { format } from 'winston';
2+
3+
function formatter(info) {
4+
const stringifiedRest = JSON.stringify(Object.assign({}, info, {
5+
level: undefined,
6+
message: undefined,
7+
splat: undefined
8+
}));
9+
10+
const padding = (info.padding && info.padding[info.level]) || '';
11+
if (stringifiedRest !== '{}') {
12+
return `${info.timestamp} ${info.level}:${padding} ${info.message} ${stringifiedRest}`;
13+
}
14+
15+
return `${info.timestamp} ${info.level}:${padding} ${info.message}`;
16+
}
17+
18+
const logger = winston.createLogger({
19+
transports: [new winston.transports.Console()],
20+
level: process.env.NODE_ENV === 'development' ? 'debug' : 'info',
21+
format: format.combine(
22+
format.colorize(),
23+
format.timestamp(),
24+
format.printf(formatter)
25+
)
26+
});
27+
28+
export default logger;

test/bot-events.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import sinonChai from 'sinon-chai';
44
import sinon from 'sinon';
55
import irc from 'irc-upd';
66
import discord from 'discord.js';
7-
import logger from 'winston';
87
import Bot from '../lib/bot';
8+
import logger from '../lib/logger';
99
import createDiscordStub from './stubs/discord-stub';
1010
import ClientStub from './stubs/irc-client-stub';
1111
import config from './fixtures/single-test-config.json';

test/bot.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import chai from 'chai';
33
import sinon from 'sinon';
44
import sinonChai from 'sinon-chai';
55
import irc from 'irc-upd';
6-
import logger from 'winston';
76
import discord from 'discord.js';
7+
import logger from '../lib/logger';
88
import Bot from '../lib/bot';
99
import createDiscordStub from './stubs/discord-stub';
1010
import ClientStub from './stubs/irc-client-stub';

0 commit comments

Comments
 (0)