diff --git a/src/config/logger.js b/src/config/logger.js
new file mode 100644
index 0000000..df49409
--- /dev/null
+++ b/src/config/logger.js
@@ -0,0 +1,34 @@
+(function () {
+  'use strict';
+  
+  const winston = require('winston');
+  const fs = require('fs');
+  const path = require('path');
+  const level = process.env.LOG_LEVEL || 'warn';
+  winston.level = level;
+
+  const logFile = path.join(__dirname, '../../logs/xos-nb-rest');
+
+  // clear old logs
+  ['error', 'debug'].forEach(l => {
+    try {
+      fs.statSync(`${logFile}.${l}.log`)
+      fs.unlinkSync(`${logFile}.${l}.log`);
+    }
+    catch(e) {
+      // log does not exist
+    }
+  });
+
+  // create a custom logger with colorized console and persistance to file
+  const logger = new (winston.Logger)({
+    transports: [
+      new (winston.transports.Console)({level: level, colorize: true}),
+      new (winston.transports.File)({name: 'error-log', level: 'error', filename: `${logFile}.error.log`}),
+      new (winston.transports.File)({name: 'debug-log', level: 'debug', filename: `${logFile}.debug.log`})
+    ]
+  });
+
+  module.exports = logger;
+
+})();
\ No newline at end of file
