Skip to main content

Getting Started


A Logger implementation that implements Sapphire's ILogger interface and implements timestamp and style formatting with the blazing fast colorette library.


npm install @sapphire/plugin-logger @sapphire/framework


This registers the necessary options and methods in the Sapphire client to be able to use the log plugin.

// Main bot file
// Be sure to register the plugin before instantiating the client.

In order to use the Logger in any place other than a piece (commands, arguments, preconditions, etc.), you must first import the container property of @sapphire/framework. For pieces, you can simply use this.container.logger to access Logger methods.

import { container } from '@sapphire/framework';

export class MyAwesomeService {
public printAwesomeLog() {'log message');

Here is an example ping command, demonstrating the use of this.container.logger from within a piece by omitting the explicit import.

// ping command

import { Command } from '@sapphire/framework';
import type { Message } from 'discord.js';

export class PingCommand extends Command {
public constructor(context: Command.Context, options: Command.Options) {
super(context, {
description: 'ping pong'

public async messageRun(message: Message) {
this.container.logger.warn('warning message');

Types of logs

  1. trace
  2. debug
  3. info
  4. warn
  5. error
  6. fatal

Example: container.logger.debug('log debug message');