ilog
light-weight, smart and pure log module.
Installation
npm install ilog
API
const ilog =
or
ilog([arguments])
[no level]
ilog.log([arguments])
[no level]
Format one or more arguments to string and write it to ilog._stdout
.
Example:
// Output: hello { a: 1, b: 2 } [ 1, 2, 3 ]
Source Code:
{ if argumentslength ilog_stdout }
ilog.emerg(error)
[level 0]
ilog.alert(error)
[level 1]
ilog.crit(error)
[level 2]
ilog.error(error)
[level 3]
ilog.warning(error)
[level 4]
Format the error
object to error string and write it to ilog._stderr
.
Example:
ilog// Nothing ilog// Nothing iloglevel = 3ilog// Output: [2015-11-02T14:07:52.368Z] ERROR {"message":"test error","name":"Error","stack":"Error: test error\n ..."} ilog// Output: [2015-11-02T14:07:52.368Z] ERROR {"name":"Error","message":"test error 2"} ilog// Nothing, because log level is lower than warning level[level 4]
Source Code:
// ilog.emerg, ilog.alert, ilog.crit, ilog.error, ilog.warninglevels
ilog.notice(message)
[level 5]
ilog.info(message)
[level 6]
Format the message
object to string and write it to ilog._stdout
.
Example:
ilog// Nothing ilog// Nothing ilog// Output: [2015-11-02T14:11:44.588Z] NOTICE {"a":1,"b":2} ilog// [2015-11-05T07:21:36.916Z] INFO "{a: 1, b: 2}"
Source Code:
// ilog.notice, ilog.infolevels
ilog.debug(message[, message, ...])
[level 7]
Format one or more arguments to string and write it to ilog._stdout
.
if only one argument, use JSON.stringify
, else use util.format
Example:
ilog// [2015-11-05T07:24:55.551Z] DEBUG {"a":1,"b":2} ilog// [2015-11-05T07:25:20.103Z] DEBUG "{a: 1, b: 2}" ilog// [2015-11-05T07:26:03.119Z] DEBUG null { a: 1, b: 2 } null [ 1, 2, 3 ] ilog// [2015-11-05T07:27:02.020Z] DEBUG Hello, 1,2,3 { a: 1, b: 2 }
Source Code:
// ilog.notice, ilog.infoilog { if argumentslength && iloglevel >= 7 let messages = argumentslength === 1 ? ilog : utilformat ilog_stdout }
ilog.auto(error[, message])
[level error, info, debug]
A error
(error instanceof Error
) will log to ilog.error
.
A message will log to ilog.info
.
One more message will log to ilog.debug
.
Example:
ilog// Output: [2015-11-02T14:13:24.409Z] ERROR {"message":"some error","name":"Error","stack":"Error: some error\n ..."}ilog// Output: [2015-11-02T14:14:18.483Z] INFO {"a":1,"b":2}ilog// Output: [2015-11-02T14:14:53.412Z] INFO {"a":1,"b":2}ilog// Output: [2015-11-02T14:15:16.933Z] DEBUG { a: 1, b: 2 } [ 1, 2, 3 ]ilog// Output: [2015-11-02T14:15:41.398Z] DEBUG { a: 1, b: 2 } [ 1, 2, 3 ]
Source Code:
ilog { if error instanceof Error return ilog let args = slice if argslength === 1 ilog else if argslength > 1 ilogdebug}
ilog.setLevel(level)
Set the log level
, any value in ilog.levels
will be fine, default to DEBUG
ilog.levels
All log levels: ['EMERG', 'ALERT', 'CRIT', 'ERR', 'WARNING', 'NOTICE', 'INFO', 'DEBUG']
.
ilog._stdout
Set the log standard out stream, default to process.stdout
ilog._stderr
Set the log error out stream, default to process.stderr
ilog._time
Set the time format function, default to:
ilog { return '[' + time + ']'}
ilog._stringify
Set the object format function, default to:
ilog { try return JSON catch e return util }
ilog._assembleLog
Set the log format function, default to:
ilog { log = log + '\n' if level log = level + ' ' + log if time log = time + ' ' + log return log}
ilog._errorify
Set the error object format function, default to:
ilog { return error}