Debug logging as main troubleshooting measure
If something goes wrong and you get an error or something doesn't work as expected, the most helpful troubleshooting measure is enabling logging, reproducing the issue and analyzing the log file.
Debug logging can be enabled in admin interface under
System / Logging.
In most cases, Verbosity level should be set to
Log files are stored under
data/logs/ directory, filenames have format:
log-YYYY-MM-DD.txt (for example:
log-2018-01-18.txt). You can download or view logs from
System / Logging screen.
NB: By default, API exceptions recorded in the logs don't include stack trace as it may be containing sensitive data such as passwords in plain text, so the only thing recorded in the logs is "ApiException" message. And for troubleshooting purposes, typically you would need to enable recording stack trace, that's done by setting LogStackTrace to true in
data/settings/config.json configuration file.
To avoid irrelevant records in the log file (may significantly complicate analyzing), it's important to enable logging right before reproducing the issue and disable right after that.
Another reason of appearing irrelevant records is simultaneous access of multiple users to the same product installation. If hundreds of users work with your product installation at the moment when you're capturing the log file, all their actions will be logged and it'll be not possible to distinguish between relevant and irrelevant records.
In this case, personal logging may be helpful. To enable it, locate the user in Users tab and check
Separate log file for this user option. Once that's done, log records for this user aren't stored in main log file, a separate
email@example.com-YYYY-MM-DD.txt file is created.