InfrastructureLogging

Options for infrastructure level logging.

infrastructureLogging.appendOnly

5.31.0+

boolean

Append lines to the output instead of updating existing output, useful for status messages. This option is used only when no custom console is provided.

webpack.config.js

export default {
  // ...
  infrastructureLogging: {
    appendOnly: true,
    level: "verbose",
  },
  plugins: [
    (compiler) => {
      const logger = compiler.getInfrastructureLogger("MyPlugin");
      logger.status("first output"); // this line won't be overridden with `appendOnly` enabled
      logger.status("second output");
    },
  ],
};

infrastructureLogging.colors

5.31.0+

boolean

Enable colorful output for infrastructure level logging. This option is used only when no custom console is provided.

webpack.config.js

export default {
  // ...
  infrastructureLogging: {
    colors: true,
    level: "verbose",
  },
  plugins: [
    (compiler) => {
      const logger = compiler.getInfrastructureLogger("MyPlugin");
      logger.log("this output will be colorful");
    },
  ],
};

infrastructureLogging.console

5.31.0+

Console

Customize the console used for infrastructure level logging.

webpack.config.js

export default {
  // ...
  infrastructureLogging: {
    console: yourCustomConsole(),
  },
};

infrastructureLogging.debug

string boolean = false RegExp function(name) => boolean [string, RegExp, function(name) => boolean]

Enable debug information of specified loggers such as plugins or loaders. Similar to stats.loggingDebug option but for infrastructure. Defaults to false.

webpack.config.js

export default {
  // ...
  infrastructureLogging: {
    level: "info",
    debug: ["MyPlugin", /MyPlugin/, (name) => name.contains("MyPlugin")],
  },
};

infrastructureLogging.level

string = 'info' : 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose'

Enable infrastructure logging output. Similar to stats.logging option but for infrastructure. Defaults to 'info'.

Possible values:

  • 'none' - disable logging
  • 'error' - errors only
  • 'warn' - errors and warnings only
  • 'info' - errors, warnings, and info messages
  • 'log' - errors, warnings, info messages, log messages, groups, clears. Collapsed groups are displayed in a collapsed state.
  • 'verbose' - log everything except debug and trace. Collapsed groups are displayed in expanded state.

webpack.config.js

export default {
  // ...
  infrastructureLogging: {
    level: "info",
  },
};

infrastructureLogging.progress

5.109.0+

boolean | 'auto' = false

Show built-in build progress, without adding ProgressPlugin manually. 'auto' shows the progress bar only in interactive terminals (TTY). When experiments.futureDefaults is enabled, it defaults to 'auto'.

The progress bar is rendered through the default logging stream, so it has no effect when a custom console is provided.

This supersedes third-party progress plugins such as WebpackBar.

webpack.config.js

export default {
  // ...
  infrastructureLogging: {
    progress: "auto",
  },
};

infrastructureLogging.stream

5.31.0+

NodeJS.WritableStream = process.stderr

Stream used for logging output. Defaults to process.stderr. This option is used only when no custom console is provided.

webpack.config.js

export default {
  // ...
  infrastructureLogging: {
    stream: process.stderr,
  },
};
Edit this page·
« Previous
Experiments

1 Contributor

snitin315