From 65fcc3119c334b75dd13bcfdebf186afdc580a8f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 15 May 2017 22:22:03 +0200 Subject: First typescript iteration --- server/helpers/logger.ts | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 server/helpers/logger.ts (limited to 'server/helpers/logger.ts') diff --git a/server/helpers/logger.ts b/server/helpers/logger.ts new file mode 100644 index 000000000..3c35e41e0 --- /dev/null +++ b/server/helpers/logger.ts @@ -0,0 +1,48 @@ +// Thanks http://tostring.it/2014/06/23/advanced-logging-with-nodejs/ +import mkdirp = require('mkdirp') +import path = require('path') +import winston = require('winston') + +// Do not use barrel (dependencies issues) +import { CONFIG } from '../initializers/constants' + +const label = CONFIG.WEBSERVER.HOSTNAME + ':' + CONFIG.WEBSERVER.PORT + +// Create the directory if it does not exist +mkdirp.sync(CONFIG.STORAGE.LOG_DIR) + +const logger = new winston.Logger({ + transports: [ + new winston.transports.File({ + level: 'debug', + filename: path.join(CONFIG.STORAGE.LOG_DIR, 'all-logs.log'), + handleExceptions: true, + json: true, + maxsize: 5242880, + maxFiles: 5, + colorize: false, + prettyPrint: true + }), + new winston.transports.Console({ + level: 'debug', + label: label, + handleExceptions: true, + humanReadableUnhandledException: true, + json: false, + colorize: true, + prettyPrint: true + }) + ], + exitOnError: true +}) + +// TODO: useful? +// logger.stream = { +// write: function (message) { +// logger.info(message) +// } +// } + +// --------------------------------------------------------------------------- + +export { logger } -- cgit v1.2.3