Overview
The ShipperHQ Magento extension comes with the comprehensive WebShopApps Logger. This article details how to configure the logger and use it to fine valuable information about shipping rate quotes from ShipperHQ.
Key Features
The logger gives you the following capabilities:
- Dedicated log panel within admin, no need to open log files
- Ability to set logging level to show more/less logs
- Log to admin, file system and/or via email
Additionally we have added the following functionality:
- Runs asynchronously, reducing impact on performance to a minimum
- Ability to switch off when in production, will not affect performance at all
- Periodic Cron job which clears out WebShopApps extension related logs from the database
Configuration
The Logger is configured under System->Webshopapps Logger
. If you get an Access Denied erorr when accessing this page please log out of Magento admin then back in. This is a known Magento’ism! By default logging is disabled. When you put your extension in production please clear out all logs (in admin and file system) and disable WebShopApps Logging else your database/file system will fill up.
Before you configure logging please consider how you wish to use it. Answer the following:
- Do I want to log to the admin panel, the system log, or send each log via email?
- What level of logging do I need?
The sections below will help you answer each of these questions. Once you have changed your configuration then you will need to re-exercise the WebShopApps extension code on the frontend in order to get logs to appear. For shipping extensions this means by getting a shipping quote in cart or checkout.
Logging Destination
In the configuration, you can select to output logs to three destinations:
1. Admin Panel
For most customers logging to the admin panel will suffice. Logs will by shown under System->WebShopApps View Log
An example output will be a grid of logs. Depending on the log level set you will see more/less logs. If you do not see logs please firstly refresh the page, then check you have exercised the relevant extension and have configuration setup correctly for the Logger.
You have the ability to filter, sort, and display extra information on each row in the log. We highly recommend if you are testing that before you run a test you select all logs and then click ‘Destroy all logs’ to remove them. This will ensure the logs make most sense, as they will then only relate to last test.
2. File System
We also support output direct to the file system under /var/log/system.log. You will need to have developer logging enabled to use this facility. This is recommended only for advanced users.
3. Email
We recommend you only send critical logs via the email system to avoid performance issues. One example use is being informed when shipping rates cannot be found. This will allow you to analyse where you have gaps in your shipping logic, and/or abandoned carts. When setting up logging via email you must fill in the Logger email address, sender email, email name and email subject.
What level of logging do I need?
There are 4 levels of logging you can choose, choosing one will include all levels above it, i.e. if you choose debug then info, warning, critical will also be captured.
Level | Description | Recommended for |
---|---|---|
Critical | Displays critical issues such as unable to process data | Useful in testing, set to log to email and receive notifications of any issues found. Don’t see this as a replacement for actual manual testing though! |
Warning | Displays warning messages, e.g. a rate cannot be found for this zipcode | Useful to highlight any issues in testing |
Info | Gives high level informational messages in a format that can be understood | When you want useful information on the working of the extension |
Debug | In depth technical information on an extension | Expert users only, much of information will not make sense, this is primarily used by WebShopApps to see debugging. You may be asked to create debug logs to send to WebShopApps so we can see your configuration setup |
When running in production we recommend that all logging is switched off for performance reasons.
Interpreting the Logs
Here you will find information around the most important aspects of the rate request:
From here, we send the request above, and we receive a response:
Locating Transaction IDs
If you cannot determine the issue by reviewing your logs, a Transaction ID is used by our support team to investigate issues faster. By providing a Transaction ID along with your support email, we can start looking into the problem much faster.
In Magento 1, you can extract the transaction ID by using the WebShopApps Logger via:
1. Admin Panel
- Perform the request or test that you are investigating
- Go to System > WebShopApps View Logs
- Open the entry titled “Rate Request and Result”
- Scroll down until you see the field TransactionId, within the response. Use cmd-f (if mac), or ctrl-f on others. Then type “transaction” and the transaction id is found.
Copy this number, along with a description of the problem you’re having to the support team so they can begin to diagnose the issue. Once you have this information, remember to disable the ShipperHQ logger as per steps 2 and 3 and set Debug = No as per step 7.
2. Website Cart
- Navigate to
System -> Configuration -> WebShopApps Logger
- set
"Show Debug Messages on Front End"
to Yes.
- Perform the request or test that you are investigating, you will need to be in the shopping cart, and not the checkout, to display the Transaction ID
- The transaction ID is displayed under the carrier title
Copy this number, along with a description of the problem you’re having to the support team so they can begin to diagnose the issue. Once you have this information, remember to disable the ShipperHQ logger as per steps 2 and 3 and set Debug = No as per step 7.
Please remember to turn the logger off, it does not need to be constantly running. If left running it will slow down your shipping rates exponentially.