An open API service indexing awesome lists of open source software.

https://github.com/baileyherbert/logging

Just another logging solution for Node.js applications.
https://github.com/baileyherbert/logging

logging nodejs

Last synced: 5 months ago
JSON representation

Just another logging solution for Node.js applications.

Awesome Lists containing this project

README

          



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.

```ts
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](https://docs.bailey.sh/logging/latest/guide/transports/) to the logger, which writes logs directly to the console. This works in a browser environment.

```ts
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.

```ts
const logger = rootLogger.createChild('ServiceName');
```

### writing logs

Loggers expose methods for each supported severity level.

```ts
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.

```ts
logger.info('Logged in as %s from %s', username, ip);
```

## license

MIT