diff --git a/.gitignore b/.gitignore
index a03c5e3933569d05747d2a3e1219fbce7da36a60..1823f2e5796b4df5d7c5694ff922d2e906b415a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 *~
 \#*\#
 .\#*
-node_modules
+/node_modules
+/var
diff --git a/libs/configuration.js b/libs/configuration.js
index e09b7a23ce005da2cfe2076216daa63746518491..ced8869827bafa04147f6c209164ecf20d53b07f 100644
--- a/libs/configuration.js
+++ b/libs/configuration.js
@@ -7,7 +7,9 @@
  *   exports.configure(app);
  */
 
-const substitution = require('./substitute.js');
+const
+substitution = require('./substitute.js'),
+path = require('path');
 
 var g_config = {
 };
@@ -56,7 +58,7 @@ const g_configs = {
     port: '10002',
     scheme: 'http',
     use_minified_resources: false,
-    log_path: './',
+    log_path: path.join(__dirname, "..", "var", "logs"),
     database: { driver: "json" }
   }
 };
diff --git a/libs/logging.js b/libs/logging.js
index 7cb5a1eb1953c0384835edb825fc632c9f095c30..34893f6e4c01f0ca505915c65b6558dc50bd9ebd 100644
--- a/libs/logging.js
+++ b/libs/logging.js
@@ -1,7 +1,8 @@
 const
 winston = require("winston"),
 configuration = require("./configuration"),
-path = require('path');
+path = require('path'),
+fs = require('fs');
 
 // go through the configuration and determine log location
 // for now we only log to one place
@@ -10,9 +11,21 @@ path = require('path');
 var log_path = configuration.get('log_path');
 var LOGGERS = [];
 
+// simple inline function for creation of dirs
+function mkdir_p(p) {
+  if (!path.existsSync(p)) {
+    mkdir_p(path.dirname(p));
+    console.log("mkdir", p);
+    fs.mkdirSync(p, "0755");
+  }
+}
+
 function setupLogger(category) {
   if (!log_path)
     return console.log("no log path! Not logging!");
+  else
+    mkdir_p(log_path);
+
 
   // don't create the logger if it already exists
   if (LOGGERS[category])