1.9.0 • Published 7 months ago

@sadzurami/logger v1.9.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

logger

Simple logger for my projects

Install

npm install @sadzurami/logger

Usage

import { Logger } from '@sadzurami/logger';

const logger = new Logger('main');

logger.info('Info message');
// => 12:34:56.789 - info [main] Info message

logger.warn('Warn message');
// => 12:34:56.789 - warn [main] Warn message

logger.error(new Error('Error message'));
// => 12:34:56.789 - error [main] Error message

API

constructor(name: string, options?: LoggerOptions)

Returns a new instance of Logger.

  • name (string) - Logger namespace.
  • options.redact (object, optional) - Redact message options.
  • options.truncate (object, optional) - Truncate message options.
  • options.lowercase (boolean, optional) - Convert message to lowercase.

instanse.properties

  • name (string) - Logger namespace.
  • colors (object) - Logger colors.
  • options (object) - Logger options.

instance.methods

.extend(name: string, options?: LoggerOptions): Logger

Returns a new instance of Logger with the same options.

  • name (string) - Logger namespace to override.
  • options (object) - Logger options to override.

.info(...messages: any[]): void

Logs message with info level.

  • messages (...array) - Messages to log.

.warn(...messages: any[]): void

Logs message with warn level.

  • messages (...array) - Messages to log.

.error(...messages: any[]): void

Logs message with error level.

  • messages (...array) - Messages to log.

Additional functions

formatError(error: Error): string

Returns formatted error message as string, including cause if exists.

  • error (Error) - Error to format.

redactMessage(message: string, options: RedactMessageOptions): string

Returns redacted message by provided patterns.

  • message (string) - Message to redact.
  • options (object) - Redact options.

truncateMessage(message: string, options: TruncateMessageOptions): string

Considers ANSI escape codes and truncates the message properly.

Returns truncated message to specified length.

  • message (string) - Message to truncate.
  • options (object) - Truncate options.

normalizeMessages(messages: any[]): string[]

Converts objects to JSON, errors to formatted strings.

Returns normalized messages as strings.

  • messages (...array) - Messages to normalize.

Advanced example

import { Logger } from '@sadzurami/logger';

const logger = new Logger('main', {
  redact: [
    {
      pattern: /password=(\w+)/g,
      replacement: 'password=***',
    },
    {
      pattern: /Authorization: Bearer (\w+)/g,
      replacement: 'Authorization ***',
    },
  ],
  truncate: { length: 100 },
});

logger.info('Logger is working');

logger.warn('Req: GET /api/v1/users?password=1234567890', new Error('Request error'));

logger.info('Req: GET /api/v2/users?password=1234567890');

logger.info('Res: 200 OK', {
  auth: 'Authorization: Bearer 123',
  users: [
    {
      id: 1,
      name: 'John Doe',
    },
  ],
});
1.9.0

7 months ago

1.8.3

1 year ago

1.8.2

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.7.2

1 year ago

1.7.1

1 year ago

1.7.0

1 year ago

1.6.1

1 year ago

1.6.0

1 year ago

1.5.0

1 year ago

1.4.1

1 year ago

1.4.0

1 year ago

1.3.9

1 year ago

1.3.8

1 year ago

1.3.7

1 year ago

1.3.6

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.3.3

1 year ago

1.3.2

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.0

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago