Skip to main content
Version: Next

abstractBaseCrawleeLogger

Abstract base class for custom Crawlee logger implementations.

Subclasses must implement two methods:

All other CrawleeLogger methods (error, warning, info, debug, etc.) are derived automatically. Level filtering is entirely the responsibility of the underlying library — logWithLevel() is called for every message.

Example — Winston adapter:

const CRAWLEE_TO_WINSTON = { 1: 'error', 2: 'warn', 3: 'warn', 4: 'info', 5: 'debug', 6: 'debug' };

class WinstonAdapter extends BaseCrawleeLogger {
constructor(private logger: winston.Logger, options?: Partial<CrawleeLoggerOptions>) {
super(options);
}

logWithLevel(level: number, message: string, data?: Record<string, unknown>): void {
this.logger.log(CRAWLEE_TO_WINSTON[level] ?? 'info', message, data);
}

protected createChild(options: Partial<CrawleeLoggerOptions>): CrawleeLogger {
return new WinstonAdapter(this.logger.child({ prefix: options.prefix }), { ...this.getOptions(), ...options });
}
}

Hierarchy

Implements

Index

Constructors

constructor

Methods

child

  • Creates a new instance of logger that inherits settings from a parent logger.


    Parameters

    Returns CrawleeLogger

debug

  • debug(message, data): void
  • Logs a DEBUG message.


    Parameters

    • message: string
    • optionaldata: Record<string, unknown>

    Returns void

deprecated

  • deprecated(message): void
  • Logs given message only once as WARNING for deprecated features.


    Parameters

    • message: string

    Returns void

error

  • error(message, data): void
  • Logs an ERROR message.


    Parameters

    • message: string
    • optionaldata: Record<string, unknown>

    Returns void

exception

  • exception(exception, message, data): void
  • Logs an ERROR level message with a nicely formatted exception.


    Parameters

    • exception: Error
    • message: string
    • optionaldata: Record<string, unknown>

    Returns void

getOptions

  • Returns the logger configuration.


    Returns CrawleeLoggerOptions

info

  • info(message, data): void
  • Logs an INFO message.


    Parameters

    • message: string
    • optionaldata: Record<string, unknown>

    Returns void

abstractlogWithLevel

  • logWithLevel(level, message, data): void
  • Core logging method. Subclasses must implement this to dispatch log messages to the underlying logger (Winston, Pino, console, etc.).

    Level filtering is the responsibility of the underlying library — this method is called for every message regardless of the current level.


    Parameters

    • level: number

      Crawlee log level (use LogLevel constants)

    • message: string

      The log message

    • optionaldata: Record<string, unknown>

      Optional structured data to attach to the log entry

    Returns void

perf

  • perf(message, data): void
  • Logs a PERF level message for performance tracking.


    Parameters

    • message: string
    • optionaldata: Record<string, unknown>

    Returns void

setOptions

  • setOptions(options): void
  • Configures logger options.


    Parameters

    Returns void

softFail

  • softFail(message, data): void
  • Logs a SOFT_FAIL level message.


    Parameters

    • message: string
    • optionaldata: Record<string, unknown>

    Returns void

warning

  • warning(message, data): void
  • Logs a WARNING level message.


    Parameters

    • message: string
    • optionaldata: Record<string, unknown>

    Returns void

warningOnce

  • warningOnce(message): void
  • Logs a WARNING level message only once.


    Parameters

    • message: string

    Returns void