-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogger.js
More file actions
39 lines (36 loc) · 832 Bytes
/
logger.js
File metadata and controls
39 lines (36 loc) · 832 Bytes
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
var hasSyslog = !!process.platform.match(/linux/),
LOG_DEBUG = 0,
LOG_INFO = 1,
LOG_ERR = 2,
syslog,
constMap = [];
if ( hasSyslog ) {
syslog = require( 'node-syslog' );
/*jslint bitwise: true*/
syslog.init( 'dash', syslog.LOG_PID | syslog.LOG_ODELAY, syslog.LOG_LOCAL0 );
/*jslint bitwise: false*/
constMap[LOG_DEBUG] = syslog.LOG_DEBUG;
constMap[LOG_INFO] = syslog.LOG_INFO;
constMap[LOG_ERR] = syslog.LOG_ERR;
}
function log( level, message ) {
if ( hasSyslog ) {
syslog.log( constMap[level], message );
}
if ( level === LOG_ERR ) {
console.error( message );
} else {
console.log( message );
}
}
module.exports = {
error: function( message ) {
log( LOG_ERR, message );
},
debug: function( message ) {
log( LOG_DEBUG, message );
},
info: function( message ) {
log( LOG_INFO, message );
}
};