Table of Content
Quick Start
No bells and whistles, just a simple logger!
The module logtrine
is an object-oriented logger, based on an interface and currently providing two implementations:
- The
ConsoleLogger
which writes messages to the standard output - The
FileLogger
which writes messages to a log file
Features:
- A log level can be set at any time to limit/filter the written log message types
- Each log message is prefixed with the ISO time and a tag indicating the log level
- Loggers can be 'chained' to write a log message to multiple targets with a single call
back to top
ConsoleLogger
const { ConsoleLogger } = require('logtrine');
var logger = new ConsoleLogger(ConsoleLogger.LEVEL.Info);
logger.info('The application has been started ...');
logger.error('Look this is an error ...', new Error('Big Bad Error!'));
logger.debug('Connecting to database ...');
logger.level = ConsoleLogger.LEVEL.Debug;
logger.debug('Connecting to database now shown ...');
Output:
back to top
FileLogger
const { FileLogger } = require('logtrine');
var logger = new FileLogger('/tmp/logtrine.log', FileLogger.LEVEL.Info);
logger.clear();
logger.info('The application has been started ...');
logger.error('Look this is an error ...', new Error('Big Bad Error!'));
logger.debug('Connecting to database ...');
logger.level = FileLogger.LEVEL.Debug;
logger.debug('Connecting to database now shown ...');
Output:
back to top
General
...
back to top
Log Levels
The following log levels are available:
const { ConsoleLogger } = require('logtrine');
var logger = new ConsoleLogger();
logger.level = ConsoleLogger.LEVEL.All;
logger.level = ConsoleLogger.LEVEL.Trace;
logger.level = ConsoleLogger.LEVEL.Debug;
logger.level = ConsoleLogger.LEVEL.Verbose;
logger.level = ConsoleLogger.LEVEL.Info;
logger.level = ConsoleLogger.LEVEL.Warn;
logger.level = ConsoleLogger.LEVEL.Error;
logger.level = ConsoleLogger.LEVEL.Critical;
logger.level = ConsoleLogger.LEVEL.None;
back to top
Log Methods
The following methods can be used to log data for the corresponding level.
Each method supports a variable number of input parameters of any type:
const { ConsoleLogger } = require('logtrine');
var logger = new ConsoleLogger(ConsoleLogger.LEVEL.All);
logger.trace('message ...');
logger.debug('message ...');
logger.verbose('message ...');
logger.info('message ...');
logger.warn('message ...', 'memory low');
logger.error('message ...', new Error());
logger.critical('message ...', new Error());
back to top
Log Chaining
Sometimes a log message shall be logged to multiple targets (e.g. console + file or fileA + fileB). This is where logger chaining comes into the picture.
const { ConsoleLogger, FileLogger } = require('./src/logtrine.js');
var logger = new ConsoleLogger(ConsoleLogger.LEVEL.Info, new FileLogger('/tmp/logtrine.log'));
logger.logger.clear();
logger.info('The application has been started ...');
logger.level = FileLogger.LEVEL.Debug;
logger.info('Show this in console and log file ...');
logger.logger.level = FileLogger.LEVEL.Warn;
logger.info('Only show this on the console ...');
logger.logger = null;
logger.warn('Only show this on the console ...');
back to top