@spbrewery/log
v2.0.1
Published
A Simplified Multi-transport and Structured Logging Library for Brewery Project
Downloads
82
Readme
@spbrewery/log
A Simplified Multi-transport and Structured Logging Library for Brewery Project
Table of Contents
Install
npm install @spbrewery-log
Usage
RECOMMENDED: create your own logger definition
const BreweryLog = require('@spbrewery-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('@spbrewery-log')
, but this only
logs to default stdout
and stderr
with logging level set to info
const logger = require('@spbrewery-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:
filename
should be set iftransport
isFile
, 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.