logger-man
A lightweight&useful stream based logging module for node.js
installation
Via NPM:
npm install logger-man --save
Example
'use strict';let loggerMan = ; let myLogger = loggerMan;myLogger;myLogger; myLogger; // 2015/June/4 pm 3:42:37 myLogger[5046] INFO: myInfomyLogger; // 2015/June/4 pm 3:42:37 myLogger[5046] ERROR: myError // => get ERROR event! msg: 2015/June/4 pm 3:42:37 myLogger[5046] ERROR: myError
Available Levels
DEBUGINFOWARNERRORCRITICAL
If a message's level is before the level
property of the object you assigned in init()
method, logger-man
will ignore it.
Formatter
logger-man
's formatter use the ES6 'template string'
style, you can put all available attributes in ${}
.
The default formatter is:
'${this.time} ${this.name}[${this.pid}] ${this.level}: ${this.message}\n'
All available attributes provided by logger-man
:
thisname //logger namethislevel //record levelthisformatter //formatter stringthispid //process idthiscreatedAt //linux time, when you created this loggerthistime //readable time, has the struct like : `YYYY/MMMM/D a h:mm:ss`thismessage //mesaage
API
loggerMan.get(name)
Get a logger, all loggers are saved in a Map
inside of logger-man
, so if you try to get a logger with the same name for many times,
logger-man
will return the same instance every time.
loggerMan.init(optionObj)
optionObj:
- stream: target stream you want to write your record to
- level: logging level
- formatter: formatter
Initialize your logger.
loggerMan.debug(msg)/info(msg)/error(msg)/...
Logging your message with the specialized level.
loggerMan.on(level, handler)
options
- level: record level ('INFO','ERROR'...)
- handler: callback
Add your own listener on specialized level
event.