github /
npm /
documentation
logging
An elegant logging solution for TypeScript built on a hierarchical composite pattern.
npm install @baileyherbert/logging
examples
creating the root logger
Each application needs at least one root logger instance.
const rootLogger = new Logger();
attaching transports to the root logger
The root logger is responsible for piping its output into one or more transports. The example below will create and attach a console transport to the logger, which writes logs directly to the console. This works in a browser environment.
rootLogger.createConsoleTransport();
creating child loggers
Each service in your application should have its own logger instance. These are called child loggers, and they are used to automatically prefix output from services with their names.
const logger = rootLogger.createChild('ServiceName');
writing logs
Loggers expose methods for each supported severity level.
logger.trace();
logger.debug();
logger.info();
logger.warning();
logger.error();
logger.critical();
These methods work identically to console.log()
. You can pass multiple parameters of any type, and can pass a string for formatting.
logger.info('Logged in as %s from %s', username, ip);
license
MIT