sd-log
a logger for nodejs environment based on winston
Installation
$ npm install sd-log -S
or
$ yarn add sd-log
In Node.js:
const mainLogger = const logger = mainLoggerloggerconst accessLogger = mainLoggeraccessLogger loggerloggerloggerloggerlogger accessLogger
Log hook
const hookFunc = { console }// default log hook is () => {}const logger = hookFunc
Log file directory and rotate mode
const logDir = './logs/' // default log file directory is './'const logger = {} logDir 'hourly'
Log file types
Sd-log supports a total of three types of log files
- access log (only inclues access log)
- info log (Store all log information except access)
- error log
By default, sd-log creates a log folder dedicated to the current service process based on the pid of the current service process to store the above three logs. The product environment directory structure will roughly look like this:
your_log_dir--pid_1236_2018_01_01----access-2018-01-01-23.log----info-2018-01-01-23.log----error-2018-01-01-23.log--pid_1237_2018_01_01----access-2018-01-01-23.log----info-2018-01-01-23.log----error-2018-01-01-23.log--pid_1238_2018_01_01----access-2018-01-01-23.log----info-2018-01-01-23.log----error-2018-01-01-23.log
Log splitting:
every type of log file rotate by every hour
- access log, split once every 1GB
- info log, do a split every 500MB
- error log, do a split every 500MB