1.1.3 • Published 8 years ago
mini-logger v1.1.3
mini-logger
A really simple logger for web server or others.
Install
npm install mini-loggerGoal
Log levels for logger is useless. Just let debug module handle the debug log. All you need is error log and some custom categories. mini-logger just write logs into different files or stdout, do not care formats(only format Errors and Objects).
Features
- rolling log files based on datetime
- easy to extended
- custom categories
- encoding support
- support Error / Object format
Usage
Example
var path = require('path');
var Logger = require('mini-logger');
var logger = Logger({
dir: path.join(__dirname, 'logs'),
categories: [ 'http' ],
format: '[{category}.]YYYY-MM-DD[.log]'
});
logger.error(new Error('error'));
logger.http('http request url: %s', 'https://github.com');Options
- dir: log directory path, required.
- categories: custom categories, all categories will add a method to Logger's instance
- format: log file name's format, will pase to momentjs to format.
{category}will replace with logger category, default is[{category.}]YYYY-MM-DD[.log] - stdout: write logs into stdout, default is
false - file: write logs into file, default is
true - errorFormater: formater for errors, default is error-formater
- seperator: the seperator of each line of logs, default is
os.EOL + os.EOL - encoding: output logs' encoding, default is
utf-8 - flushInterval: all logs will cache in memory first, every
flushIntervalms flush into files. default is1s - duration: cut the logs every
durationms. default is1h - mkdir: everytime before create a writeStream, will try to
mkdirpfirst. useful when format is likeYYYY/MM/DD/[{category}.log], default to false - timestamp: write timestamp with format YYYYMMDDHHmmssSSS before every line of logs, default is false
Events
Logger will emit an error event when any write streams emit an error. If you don't listen this error event, it will default hanlde by:
function onerror(err) {
console.error(err.stack);
}