summaryrefslogtreecommitdiff
path: root/webserver.js
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2017-10-27 23:52:13 +0200
committertomsmeding <tom.smeding@gmail.com>2017-10-27 23:52:13 +0200
commited678961148d8739a750f2b743cc11858b484b23 (patch)
tree7560e8932d9d2d98b9ed9c55114c5b345bd5ed72 /webserver.js
parent8bed4192558aa91cd8fe1ba501200b1c111e43e9 (diff)
Add basic logging
Diffstat (limited to 'webserver.js')
-rwxr-xr-xwebserver.js25
1 files changed, 24 insertions, 1 deletions
diff --git a/webserver.js b/webserver.js
index a190a4c..89585c3 100755
--- a/webserver.js
+++ b/webserver.js
@@ -9,7 +9,8 @@ var app=require("express")(),
util=require("util"),
node_path=require("path"),
bodyParser=require("body-parser"),
- basicAuth=require("basic-auth");
+ basicAuth=require("basic-auth"),
+ Logger=require("./logger");
if(process.argv.length>3){
@@ -19,6 +20,9 @@ if(process.argv.length>3){
var PORT=process.argv.length==3?+process.argv[2]:80;
+var reqlogger=new Logger("request_log.txt");
+
+
var whatpulse={"keys":"<??>","clicks":"<??>"};
function refreshWhatpulse(){
http.get("http://api.whatpulse.org/user.php?user=tomsmeding&format=json&formatted=yes",function(res){
@@ -35,6 +39,25 @@ function refreshWhatpulse(){
setInterval(refreshWhatpulse,6*3600*1000); //every 6 hours
refreshWhatpulse();
+function simpleLogEscape(str){
+ return str
+ .replace(/\\/g,"\\\\")
+ .replace(/\n/g,"\\n")
+ .replace(/ /g,"\\_");
+}
+
+app.use(function(req,res,next){
+ var line=simpleLogEscape(req.ip)+" "+
+ simpleLogEscape(req.method)+" "+
+ simpleLogEscape(req.protocol)+" "+
+ simpleLogEscape(req.hostname)+" "+
+ simpleLogEscape(req.url);
+ if(req.headers["dnt"])line+=" dnt="+simpleLogEscape(req.headers["dnt"]);
+ if(req.headers["referer"])line+=" referer="+simpleLogEscape(req.headers["referer"]);
+ reqlogger.log(line);
+ next();
+});
+
/*app.use(function (req, res, next) {
console.log(req.subdomains);
next();