Debug mode

The debug mode provides a more detailed logging output (including PHP version, a list with activated extensions and a check if XDebug is enabled), by automatically setting the Monolog log level to LogLevel::DEBUG if not overwritten with the command-line option --log-level.

Additionally, it ignores

  • Product category relations that not exists

  • product images that are not available

  • product images that can not be cleaned-up, e.g., the files are not available anymore

  • product links (related, upsell, crosssell, etc.) for SKUs which are not available anymore

  • product tier prices that can not be deleted, e.g. they are not available anymore

  • product URL rewrites that can not be created

  • configurable products for SKUs which are not available or available more than one time

  • the archive plug-in is not able to create the archive directory, e.g. invalid permissions

  • missing option values

  • mission option values plug-in will send a CSV file with the disappeared option values to the configured mail address

but logs these issues as warnings to the console.

When the debug mode has been enabled, missing attribute option values will not throw an exception, instead they will be logged and put on an internal stack. If the MissingOptionValuesPlugin has been enabled, and put on an internal stack. If the MissingOptionValuesPlugin has been enabled, a CSV file with the missing option values will be created in the temporary import folder. If the plug-in configuration has enabled a Swift Mailer, the CSV file will be sent to the given mail addresses.

That will help developers test imports with partially invalid CSV files that do not break data consistency.

To improve performance, up from version 3.6.0, metadata that allows retracing above artifacts where the field data has been originated, is only available in debug mode.

In production mode, exceptions will now only contain the name and line number of the actual artifact.