brewery-log v1.2.0
brewery-log
A Simplified Multi-transport and Structured Logging Library for Brewery Project
Table of Contents
Install
npm install brewery-logUsage
RECOMMENDED: create your own logger definition
const BreweryLog = require('brewery-log');
const logger = BreweryLog.initLogger({
  level: 'info', // Default log level for transports with no specified level
  transports: [
    { transport: 'Console' }, // Prints log to console
    { transport: 'File', filename: 'debug.log', level: 'debug' }, // Writes log with level `debug` and below to `debug.log`
    { transport: 'File', filename: 'error.log', level: 'error' } // Writes error logs to `error.log`
  ]
});
logger.log('info', { message: 'Welcome to the Brewery' });DEFAULT: you may also log it directly using the default require('brewery-log'), but this only 
logs to default stdout and stderr with logging level set to info
const logger = require('brewery-log');
logger.log('info', { message: 'Welcome to the Brewery' });API
BreweryLog
.initLogger([config]) - Initialize the Brewery Logger
config( Type:Object, Properties:level,transports)
.add([logger]) - Adds a new logger instance to our loggers
logger( Type:Object, Properties:transport,level,filename)- Note: 
filenameshould be set iftransportisFile, see Transports. 
.setLevel([level], [details]) - Set Logging Level for all logger instances
level( Type:String)
.log([level], [details]) - Sends the log message to all Logger Instances for logging
level( Type:String)details( Type:Object|String)
.error([details]) - Logs a message with error level
details( Type:Object|String)
.warn([details]) - Logs a message with warn level
details( Type:Object|String)
.info([details]) - Logs a message with info level
details( Type:Object|String)
.verbose([details]) - Logs a message with verbose level
details( Type:Object|String)
.debug([details]) - Logs a message with debug level
details( Type:Object|String)
Logging Levels
Logging levels conform to the severity ordering specified by RFC5424: severity of all levels is assumed to be numerically ascending from most important to least important.
NOTE: Usage of unknown log level will not be logged and will log an Error
const levels = { 
  error: 0, 
  warn: 1, 
  info: 2, 
  verbose: 3, 
  debug: 4
};Transports
The core transports that are currently available to BreweryLog are:
Console- writes the log to the default stdout and stderr
USAGE
const logger = BreweryLog.initLogger({
  transports: [{ transport: 'Console', level: 'info' }]
});
logger.log('info', { message: 'Welcome to the Brewery' });OUTPUT
{ datetime: 2018-06-21T08:05:55.266Z,
  level: 'info',
  details: { message: 'Welcome to the Brewery' } }File- writes the log to the specified file with appended datetime(YYYY-MM-DD) on the filename
USAGE
const logger = BreweryLog.initLogger({
  transports: [
    transport: 'File', filename: 'debug.log', level: 'debug'
  ],
});
logger.log('info', { message: 'Welcome to the Brewery' });OUTPUT
{"datetime":"2018-06-21T08:05:55.266Z","level":'info',"details":{"message":"Welcome to the Brewery"}}Contributors
- Ronald dela Cruz
 - James Levin Calado
 
License
MIT © Stratpoint Technologies Inc.