From 8c06acf155c79fa9761b54150b7e645bb65bfaa8 Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Sun, 30 Aug 2015 07:58:47 +0200 Subject: [PATCH] improve logging : create logs dir if it doesn't exist, use log dir relative to path, add shebang in app.js to allow starting the app.js as a bin, make longjohn enable only if NODE_ENV == 'dev', make "craftyjs" a binary installed with package when npm install -g --- app.js | 2 ++ index.js | 4 +++- lib/serverPlugins/log.js | 25 ++++++++++++++++++------- package.json | 6 +++++- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/app.js b/app.js index f5f953b..f7f3f75 100644 --- a/app.js +++ b/app.js @@ -1,3 +1,5 @@ +#!/usr/bin/env node + var mcServer=require("./index"); var settings = require('./config/settings'); diff --git a/index.js b/index.js index 81732e0..c7bd2b0 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,9 @@ var util = require('util'); var path = require('path'); var requireIndex = require('requireindex'); var serverPlugins = requireIndex(path.join(__dirname, 'lib', 'serverPlugins')); -require("longjohn"); +if (process.env.NODE_ENV === 'dev'){ + require('longjohn'); +} module.exports = { createMCServer:createMCServer diff --git a/lib/serverPlugins/log.js b/lib/serverPlugins/log.js index 924e53c..085cbb5 100644 --- a/lib/serverPlugins/log.js +++ b/lib/serverPlugins/log.js @@ -1,6 +1,7 @@ var fs = require('fs'); var timeStarted = Math.floor(new Date() / 1000).toString(); var path = require('path'); +var mkdirp = require('mkdirp'); module.exports=inject; @@ -16,18 +17,28 @@ function inject(serv,settings) log('[INFO]: Server listening on port', port); }); + var logFile=path.join("logs",timeStarted + ".log"); function log(message) { - if (settings.logging == true) { - fs.appendFile(path.join(__dirname,'..','..',"logs",timeStarted + ".log") , message + "\n", function (err) { - }); - } + if (!settings.logging) return; + fs.appendFile(logFile, message + "\n",function(err){ + if (err) console.log(err); + }); } function createLog() { - fs.writeFile(path.join(__dirname,'..','..',"logs",timeStarted + ".log"), "[INFO]: Started logging...\n", - function (err, data) { - if (err) return console.log(err); + if (!settings.logging) return; + mkdirp("logs", function(err) { + if(err) + { + console.log(err); + return; + } + + fs.writeFile(logFile, "[INFO]: Started logging...\n", + function (err) { + if (err) console.log(err); + }); }); } diff --git a/package.json b/package.json index 2919e2d..dfb8d22 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,9 @@ "email": "romain.rom1@gmail.com" } ], + "bin": { + "craftyjs": "./app.js" + }, "scripts": { "test": "mocha --reporter spec" }, @@ -26,7 +29,8 @@ "vec3": "0.1.3", "requireindex": "~1.0.0", "prismarine-block": "0.1.0", - "minecraft-data": "0.7.0" + "minecraft-data": "0.7.0", + "mkdirp":"0.5.1" }, "repository": { "type": "git",