Skip to main content

Logging

Logging events, errors, and info is a necessary thing to be able to create better functioning and more easily understandable code; that's why create-discord-bot includes options to integrate high-quality loggers into its ecosystem.

Pino​

Pino is the recommended option by create-discord-bot and a recommendation of the Discord.JS Guide.

Pino is a very low overhead, lightweight logging utility that outputs JSON and can transport its logs to a separate file or both. It can also be prettified/formatted with pino-pretty, transforming it into a more human-readable format.

Example​

Image of pino and pino-pretty working

Courtesy of pino-pretty

Default​

Normal console.log, error, warn, and info that outputs plain text.

Adding Color​

There are multiple ways to add colour to your logs, one of which is to use ansi escape codes.

console.log("\x1b[32mI'm GREEN\x1b[0m");
// I'm GREEN (in green)

However, some libraries can help to ease and abstract the process, such as:

  • Chalk - Small package with easy-to-use chainable functions
  • Pico-colors - Lightweight and fast.
  • Kleur - Alternative to Chalk.
  • Kolorist - Alternative to Chalk.

Other options​

There are also other options that might fit your use case better, such as:

  • Winston - A logger for just about everything
  • Bunyan - A simple and fast JSON logging library
  • Bole - A tiny JSON logger, optimised for speed and simplicity