sd-log
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

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

  1. access log (only inclues access log)
  2. info log (Store all log information except access)
  3. 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

  1. access log, split once every 1GB
  2. info log, do a split every 500MB
  3. error log, do a split every 500MB

Readme

Keywords

none

Package Sidebar

Install

npm i sd-log

Weekly Downloads

0

Version

1.0.3

License

MIT

Unpacked Size

102 kB

Total Files

27

Last publish

Collaborators

  • shuidifed