Allow logger to add transports (#2363)

- Move all of the winston logic from FileLoggerAdapter to WinstonLoggerAdapter
- Export WinstonLoggerAdapter so it can be sublcassed
- Expost the ability to add adittional transports to logger
- Import FirehoseLoggerAdapter alongside other adapters so it can be configured.
This commit is contained in:
Arthur Cinader
2016-08-06 08:29:19 -04:00
committed by Florent Vilmart
parent 36891f4ed7
commit fa736f1df7
10 changed files with 79 additions and 58 deletions

View File

@@ -6,7 +6,7 @@
// * info(obj1 [, obj2, .., objN])
// * error(obj1 [, obj2, .., objN])
// * query(options, callback)
// Default is FileLoggerAdapter.js
// Default is WinstonLoggerAdapter.js
export class LoggerAdapter {
info() {}

View File

@@ -1,23 +1,9 @@
// Logger
//
// Wrapper around Winston logging library with custom query
//
// expected log entry to be in the shape of:
// {"level":"info","message":"Your Message","timestamp":"2016-02-04T05:59:27.412Z"}
//
import { LoggerAdapter } from './LoggerAdapter';
import { Parse } from 'parse/node';
import { logger, configure } from '../../logger';
import { logger, addTransport } from '../../logger';
const MILLISECONDS_IN_A_DAY = 24 * 60 * 60 * 1000;
const CACHE_TIME = 1000 * 60;
let LOGS_FOLDER = './logs/';
if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') {
LOGS_FOLDER = './test_logs/'
}
let currentDate = new Date();
let simpleCache = {
@@ -65,8 +51,7 @@ let _isValidLogEntry = (from, until, entry) => {
: false
};
export class FileLoggerAdapter extends LoggerAdapter {
export class WinstonLoggerAdapter extends LoggerAdapter {
info() {
return logger.info.apply(undefined, arguments);
}
@@ -75,6 +60,13 @@ export class FileLoggerAdapter extends LoggerAdapter {
return logger.error.apply(undefined, arguments);
}
addTransport(transport) {
// Note that this is calling addTransport
// from logger. See import - confusing.
// but this is not recursive.
addTransport(transport);
}
// custom query as winston is currently limited
query(options, callback = () => {}) {
if (!options) {
@@ -114,4 +106,4 @@ export class FileLoggerAdapter extends LoggerAdapter {
}
}
export default FileLoggerAdapter;
export default WinstonLoggerAdapter;