Skip to content

util.inspect not called for Error objects #10

Description

@RAnders00

I'm using this package together with make-error-cause, which extends errors with a cause property and overrides the custom inspect function to generate a long stack trace including the cause:
https://github.com/blakeembrey/make-error-cause/blob/master/src/index.ts

This module however does not use util.inspect() to generate stack traces, instead it accesses .stack directly so the "extended" stack trace is not printed.

I would appreciate if this could get fixed.

Simple repro case:

process.env.DEBUG = '*';

const { BaseError } = require('make-error-cause');
const log = require('debug-logger')('test');

let cause = new Error('cause');
let e = new BaseError('error', cause);

log.error(e);

Output:

  test:error BaseError: error
  test:error ___Stack trace #1___
  test:error BaseError: error
  test:error     at Object.<anonymous> (C:\Users\Ruben Anders\Nextcloud\Projects\dank-twitch-irc\test.js:7:9)
  test:error     at Module._compile (internal/modules/cjs/loader.js:776:30)
  test:error     at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
  test:error     at Module.load (internal/modules/cjs/loader.js:643:32)
  test:error     at Function.Module._load (internal/modules/cjs/loader.js:556:12)
  test:error     at Function.Module.runMain (internal/modules/cjs/loader.js:839:10)
  test:error     at internal/main/run_main_module.js:17:11 +0ms

Expected output:

  test:error BaseError: error
  test:error ___Stack trace #1___
  test:error BaseError: error
  test:error     at Object.<anonymous> (C:\Users\Ruben Anders\Nextcloud\Projects\dank-twitch-irc\test.js:7:9)
  test:error     at Module._compile (internal/modules/cjs/loader.js:776:30)
  test:error     at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
  test:error     at Module.load (internal/modules/cjs/loader.js:643:32)
  test:error     at Function.Module._load (internal/modules/cjs/loader.js:556:12)
  test:error     at Function.Module.runMain (internal/modules/cjs/loader.js:839:10)
  test:error     at internal/main/run_main_module.js:17:11
  test:error
  test:error The following exception was the direct cause of the above exception:
  test:error
  test:error Error: cause
  test:error     at Object.<anonymous> (C:\Users\Ruben Anders\Nextcloud\Projects\dank-twitch-irc\test.js:6:13)
  test:error     at Module._compile (internal/modules/cjs/loader.js:776:30)
  test:error     at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
  test:error     at Module.load (internal/modules/cjs/loader.js:643:32)
  test:error     at Function.Module._load (internal/modules/cjs/loader.js:556:12)
  test:error     at Function.Module.runMain (internal/modules/cjs/loader.js:839:10)
  test:error     at internal/main/run_main_module.js:17:11 +0ms

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions