This repository has been archived by the owner on Dec 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathlog.js
executable file
·87 lines (69 loc) · 1.57 KB
/
log.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
var fs = require("fs");
module.exports = Log;
function Log(logPath)
{
this.logPath = logPath || "./log";
}
Log.prototype.writeToFile = function(out, level)
{
fs.appendFile(this.logPath, level + " " + out + "\n", function(error)
{
if(error)
{
this.writeToConsole(error, "error");
}
});
}
Log.prototype.writeToConsole = function(out, level)
{
var prefix = "\x1b[37m";
switch(level)
{
case "error":
prefix = "\x1b[31m";
break;
case "warning":
prefix = "\x1b[33m";
break;
}
console.log(prefix, out);
}
Log.prototype.log = function(msg)
{
var out = Log.pasteMsg(msg);
this.writeToConsole(out, "info");
this.writeToFile(out, "info");
}
Log.prototype.error = function(msg)
{
var out = Log.pasteMsg(msg);
this.writeToConsole(out, "error");
this.writeToFile(out, "error");
}
Log.prototype.warning = function(msg)
{
var out = Log.pasteMsg(msg);
this.writeToConsole(out, "warning");
this.writeToFile(out, "warning");
}
Log.pasteMsg = function(msg)
{
var out = Log.getDateTime() + " " + msg;
return out;
}
Log.getDateTime = function()
{
var date = new Date();
var hour = date.getHours();
hour = (hour < 10 ? "0" : "") + hour;
var min = date.getMinutes();
min = (min < 10 ? "0" : "") + min;
var sec = date.getSeconds();
sec = (sec < 10 ? "0" : "") + sec;
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = (month < 10 ? "0" : "") + month;
var day = date.getDate();
day = (day < 10 ? "0" : "") + day;
return year + ":" + month + ":" + day + ":" + hour + ":" + min + ":" + sec;
}