@baileyherbert/logging
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

Bailey Herbert Logo

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

Readme

Keywords

Package Sidebar

Install

npm i @baileyherbert/logging

Weekly Downloads

20

Version

3.0.0

License

MIT

Unpacked Size

95.1 kB

Total Files

33

Last publish

Collaborators

  • baileyherbert