sd-log
v1.0.3
Published
a logger for nodejs environment
Downloads
6
Readme
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 = require('sd-log')()
const logger = mainLogger.logger
const accessLogger = mainLogger.accessLogger
logger.debug('test debug log')
logger.info('test info log')
logger.notice('test notice log')
logger.warn('test warning log')
logger.error('test error log')
accessLogger.access('test access log', {request_ts: Date.now()})
Log hook
const hookFunc = () => { console.log('invoke log hook!') }
// default log hook is () => {}
const logger = require('./index.js')(hookFunc)
Log file directory and rotate mode
const logDir = './logs/' // default log file directory is './'
const logger = require('./index.js')(()=>{}, 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