-
Notifications
You must be signed in to change notification settings - Fork 0
/
logger.js
58 lines (52 loc) · 1.42 KB
/
logger.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var fs = require('fs');
var jsonfile = require('jsonfile');
var path = require('path');
const conffile = 'config.json';
var config = jsonfile.readFileSync(conffile, function (err,obj) {
if(err) console.error(err);
});
var loggingLevel = config.LogLevel;
var path = __dirname + "\\logs\\log_"+ getTimeStamp() +".log"
try {
fs.writeFileSync(path,"");
} catch (e) {
console.error("Unable to write to log because: "+ e);
}
function getTimeStamp()
{
date = new Date();
year = date.getFullYear();
month = date.getMonth()+1;
day = date.getDate();
hour = date.getHours();
mins = date.getMinutes();
seconds = date.getSeconds();
return day + "-" + month + "-" + year + "_" + hour + "h." + mins + "m." + seconds + "s";
}
function willLog(request)
{
return LogLevels.indexOf(request) <= LogLevels.indexOf(loggingLevel);
}
var writeLogLine = function(message,type,level)
{
var msg = "["+type+"] ["+level+"] " + getTimeStamp() + ": " + JSON.stringify(message,null,2) + '\n';
try {
fs.appendFileSync(path, msg);
type === LOG ? console.log(msg) : console.error(msg);
} catch (e) {
console.error("Unable to write to log because: "+ e + " to say:" + message);
}
}
var log = function (message,level)
{
if(!willLog(level)) {return false;}
writeLogLine(message,LOG,level);
}
var error = function (message)
{
writeLogLine(message,ERR,LogLevels[LogLevels.length - 1]);
}
module.exports = {
log: log,
error: error,
}