-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
117 lines (104 loc) · 3.81 KB
/
index.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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/**
* Better Node File Logger
* ==========================
* I got tired of typing out the function names and such with node-file-logger.
* This won't suit everyone but it made my life easier.
*/
const parentLogger = require('node-file-logger');
// Get basic service name.
const getCallingService = function() {
var service = new Error('').stack.split('\n')[3];
service = service.slice(service.lastIndexOf('\\') + 1);
return service.slice(0, 1).toUpperCase().concat(service.slice(1, service.indexOf('.')).toLowerCase());
};
// Get basic method name.
const getCallingMethod = function() {
var method = new Error('').stack.split('\n')[3].slice(7).split(' ')[0];
if (method.indexOf('Object.') === 0) {
method = method.slice(7);
}
return method;
};
let logger = {
setUserOptions: parentLogger.SetUserOptions,
/**
* Quickly initialize a custom logging scheme
* @param {string} prefix - "fileNamePrefix" of logging files
*/
quickInit: function(prefix) {
parentLogger.SetUserOptions({
'fileNamePrefix': prefix,
"fileNameExtension": ".log",
"dateFormat": "YYYY_MM_D",
"timeFormat": "h:mm:ss A",
"fileNameSuffix": "",
"onlyFileLogging": false,
"logLevel": "debug"
});
},
/**
* Log a debug message
* @param {string} message - Message to log
* @param {any} errorObj - Error object
* @param {function} callback - Optional callback method
*/
debug: function(message, errorObj, callback) {
parentLogger.Debug(message, getCallingService(), getCallingMethod(), errorObj, callback);
},
/**
* Log a trace message
* @param {string} message - Message to log
* @param {any} errorObj - Error object
* @param {function} callback - Optional callback method
*/
trace: function(message, errorObj, callback) {
parentLogger.Trace(message, getCallingService(), getCallingMethod(), errorObj, callback);
},
/**
* Log an info message
* @param {string} message - Message to log
* @param {any} errorObj - Error object
* @param {function} callback - Optional callback method
*/
info: function(message, errorObj, callback) {
parentLogger.Info(message, getCallingService(), getCallingMethod(), errorObj, callback);
},
/**
* Log a warning message
* @param {string} message - Message to log
* @param {any} errorObj - Error object
* @param {function} callback - Optional callback method
*/
warn: function(message, errorObj, callback) {
parentLogger.Warn(message, getCallingService(), getCallingMethod(), errorObj, callback);
},
/**
* Log an error message
* @param {string} message - Message to log
* @param {any} errorObj - Error object
* @param {function} callback - Optional callback method
*/
error: function(message, errorObj, callback) {
parentLogger.Error(message, getCallingService(), getCallingMethod(), errorObj, callback);
},
/**
* Log a fatal message
* @param {string} message - Message to log
* @param {any} errorObj - Error object
* @param {function} callback - Optional callback method
*/
gatal: function(message, errorObj, callback) {
parentLogger.Fatal(message, getCallingService(), getCallingMethod(), errorObj, callback);
},
/**
* Log a message of any specified level
* @param {string} level - Log level
* @param {string} message - Message to log
* @param {any} errorObj - Error object
* @param {function} callback - Optional callback method
*/
log: function(level, message, errorObj, callback) {
parentLogger.Log(level, message, getCallingService(), getCallingMethod(), errorObj, callback);
}
}
module.exports = logger;