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

@@ -13,6 +13,7 @@ LOGS_FOLDER = process.env.PARSE_SERVER_LOGS_FOLDER || LOGS_FOLDER;
const JSON_LOGS = process.env.JSON_LOGS || false;
let currentLogsFolder = LOGS_FOLDER;
const additionalTransports = [];
function generateTransports(level, options = {}) {
let transports = [
@@ -32,7 +33,7 @@ function generateTransports(level, options = {}) {
level: 'error'
}
), options)
];
].concat(additionalTransports);
if (!process.env.TESTING || process.env.VERBOSE) {
transports = [
new (winston.transports.Console)(
@@ -90,5 +91,14 @@ export function addGroup(groupName) {
return winston.loggers.get(groupName);
}
export { logger };
export function addTransport(transport) {
const level = winston.level;
additionalTransports.push(transport);
const transports = generateTransports(level);
logger.configure({
transports: transports
});
}
export { logger, addTransport };
export default logger;