Logger

Logger

Logger

The Logger is responsible for all logging in a Vendure application.

It is intended to be used as a static class:

Example

import { Logger } from '@vendure/core';

Logger.info(`Some log message`, 'My Vendure Plugin');

The actual implementation - where the logs are written to - is defined by the VendureLogger instance configured in the VendureConfig. By default, the DefaultLogger is used, which logs to the console.

Implementing a custom logger

A custom logger can be passed to the logger config option by creating a class which implements the VendureLogger interface. For example, here is how you might go about implementing a logger which logs to a file:

Example

import { VendureLogger } from '@vendure/core';
import fs from 'fs';

// A simple custom logger which writes all logs to a file.
export class SimpleFileLogger implements VendureLogger {
    private logfile: fs.WriteStream;

    constructor(logfileLocation: string) {
        this.logfile = fs.createWriteStream(logfileLocation, { flags: 'w' });
    }

    error(message: string, context?: string) {
        this.logfile.write(`ERROR: [${context}] ${message}\n`);
    }
    warn(message: string, context?: string) {
        this.logfile.write(`WARN: [${context}] ${message}\n`);
    }
    info(message: string, context?: string) {
        this.logfile.write(`INFO: [${context}] ${message}\n`);
    }
    verbose(message: string, context?: string) {
        this.logfile.write(`VERBOSE: [${context}] ${message}\n`);
    }
    debug(message: string, context?: string) {
        this.logfile.write(`DEBUG: [${context}] ${message}\n`);
    }
}

// in the VendureConfig
export const config = {
    // ...
    logger: new SimpleFileLogger('server.log'),
}

Signature

class Logger implements LoggerService {
  static logger: VendureLogger
  static error(message: string, context?: string, trace?: string) => void;
  static warn(message: string, context?: string) => void;
  static info(message: string, context?: string) => void;
  static verbose(message: string, context?: string) => void;
  static debug(message: string, context?: string) => void;
}

Members

logger

static property

error

static method
type:
(message: string, context?: string, trace?: string) => void

warn

static method
type:
(message: string, context?: string) => void

info

static method
type:
(message: string, context?: string) => void

verbose

static method
type:
(message: string, context?: string) => void

debug

static method
type:
(message: string, context?: string) => void

Contents: