added a logger, started working on the maintenance timer routines
[nodejs-repoproxy.git] / lib / config.js
index 441caed..8d6d2fc 100644 (file)
@@ -1,4 +1,5 @@
 var fs = require("fs");
+var log = require("./log.js");
 
 exports.loadConfig = function (conffile) {
        
@@ -6,7 +7,14 @@ exports.loadConfig = function (conffile) {
        global.repoproxy.listenPort = 8008;
        global.repoproxy.cacheDir = "./cache";
        global.repoproxy.repo = new Object();
-       global.repoproxy.scancache = 1; 
+       global.repoproxy.scancache = 1;
+       global.repoproxy.downloads = new Object();
+
+       // set a global file id for file trashing
+       //global.repoproxy.fileid = new Object();
+       global.repoproxy.fileid = 1;
+
+
        
        var confFileData = fs.readFileSync(conffile, "utf8");
        
@@ -49,6 +57,10 @@ exports.loadConfig = function (conffile) {
                                global.repoproxy.scancache = 24;
                        }
                        break;
+               case "loggerlevel":
+                       global.repoproxy.loglevel = parseInt(line_real[1]);
+                       console.log("log level set to: ", global.repoproxy.loglevel);
+                       break;
                default:
                        if(line_real[0] != "") {
                                console.log("WARNING Invalid line in configuration file ignored: '%s'", line_one);
@@ -57,35 +69,45 @@ exports.loadConfig = function (conffile) {
        }
        
        createCacheStructure();
+       log.testLogSettings();
 }
 
 
+
 function createCacheStructure() {
        try {
                var state = fs.statSync(global.repoproxy.cacheDir);
                //console.log("state is:", state);
        } catch(e) {
+               //console.log("try failure of cache dir stat ", e);
                try {
                        fs.mkdirSync(global.repoproxy.cacheDir);
-                       fs.mkdirSync(global.repoproxy.cacheDir + "/.cleanup");
                } catch(ex) {
                        console.log("ERROR: failure to create cache directory, '%s'", global.repoproxy.cacheDir);
                }
        }
        
        try {
-               fs.mkdirSync(global.repoproxy.cacheDir + "/.cleanup");
-       } catch(ex) {
-               console.log("ERROR: cant create cleanup directory, '%s'", global.repoproxy.cacheDir + "/.cleanup");
+               var state = fs.statSync(global.repoproxy.cacheDir + "/.cleanup");
+               //console.log("state is:", state);
+       } catch(e) {
+               try {
+                       fs.mkdirSync(global.repoproxy.cacheDir + "/.cleanup");
+               } catch(ex) {
+                       console.log("ERROR: cant create cleanup directory, '%s'", global.repoproxy.cacheDir + "/.cleanup");
+               }
        }
        
+       //console.log("next: ", global.repoproxy.repo);
        for(var index in global.repoproxy.repo) {
                var fullDir = global.repoproxy.cacheDir + "/" + index;
+               //console.log("on end, ", fullDir);
                try {
-                       var state = fs.statSync(global.repoproxy.cacheDir);
+                       var state = fs.statSync(fullDir);
                        //console.log("state is:", state);
                } catch(e) {
                        try {
+                               //console.log("attempted to create cache dir, ", fullDir);
                                fs.mkdirSync(fullDir);
                        } catch(ex) {
                                console.log("ERROR: failed to create cache directory, '%s' for '%s'", fullDir, index);