Error Monitoring & Email Alerts


Installation instructions, documentation and FAQs for the Shopware plugin

What is Biloba Notificator?

The plugin automatically monitors your Shopware shop in the background and notifies you by email of any errors in the system log before they affect your customers. You can specify the threshold at which a notification is triggered, who receives it, and the maximum frequency of emails.

The key benefits at a glance:

  1. Automatic monitoring of the system log at fixed intervals
  2. Configurable thresholds (e.g. from „error“ or „critical“ level)
  3. Multiple recipients per alert
  4. A cooldown to combat the flood of emails; any errors occurring during the cooldown will be collected and submitted at a later date
  5. Customised email templates and multilingual mailings
  6. Test email per recipient without a cooldown period
  7. Role-based access rights and automatic masking of sensitive data in logs
  8. A complete log of all alarms triggered in your local time zone

Prerequisites

  • Shopware 6.7
  • PHP from 8 February (as required by Shopware itself)
  • Configured Symfony Mailer (MAILER_URL or. MAILER_DSN) for sending emails
  • Current Messenger Worker for automatic execution in the background

Compatibility

  • Shopware versions 6.7.x
  • Monitors Shopware’s own log_entry-table, creates its own tables for this purpose (biloba_notification, biloba_notification_log)
  • No dependencies on third-party plugins

Installation

  1. Purchase the expansion in the Shopware Store
  2. Install and activate the extension in the Shopware backend under Settings → Extensions → My Extensions
  3. Reload the admin interface (F5)
  4. Go to the new menu option under Settings → Extensions → Email Alerts

Furnishings

Once you’ve activated the service, set up your first email alert. You can adjust all the settings at any time in the details form.

[SCREENSHOT: Detail form for an email alert with configuration fields]

  1. In the backend, under Settings → Extensions → Email Alerts, click „Add“
  2. Enter a name, e.g. „Error alert“
  3. Select the alarm type; „Log Entry“ is currently available
  4. Set the minimum log level (e.g. error, critical, alert)
  5. Enter one or more recipient email addresses
  6. Set a cooldown period in seconds to prevent spam (e.g. 300 seconds)
  7. Select an email template and the language in which the emails are to be sent
  8. Save the alarm

To ensure that alerts are automatically checked and sent, the Symfony Messenger worker must be running (e.g. continuously as a Systemd service with bin/console messenger:consume). In the development environment, a manual call via bin/console scheduled-task:run.


1 · Alarm management

In the list view, you can see all the alerts you have created, along with their status (active/inactive). In the details view, you can edit an alert’s name, type, recipient, cooldown, email template and language.

[SCREENSHOT: List view of email alerts with ‘Active’ status]


2 · Log monitoring (Log Entry Watcher)

The „Log Entry“ alert type monitors your shop’s system log table and triggers as soon as entries reach the configured minimum level (e.g. error) may occur. Further alarm types may be added at a later date.


3 · Cooldown & Collective notification

The cooldown prevents you from being inundated with emails if a large number of errors occur in a short space of time. Errors triggered during the cooldown period are not lost: they are collected and included in the next message with the note „(N during cooldown)“.


4 · Test dispatch

Using the „Test email“ button in the details form, you can send a test email to each recipient, regardless of the cooldown period. This allows you to check the template and delivery without having to wait for a genuine error to occur.


5 · Multilingual email sending

For each alert, you can select the language in which the email is displayed, subject to the languages actually supported by the chosen email template. This ensures that even emails sent automatically in the background are always delivered in the desired language, regardless of the shop’s system language.


6 · Minutes & Proceedings

In the Log tab of the detailed view, you will find the complete history of triggered alarms, including the time, status and a brief description. Clicking on the brief description opens a detailed window showing the full error message and the associated log entries. Individual entries can be deleted, or the log can be cleared completely. Entries older than 180 days are automatically removed on a daily basis.

[SCREENSHOT: Log tab showing the history of triggered alarms]


7 · Data protection: Masking of sensitive data

Before being saved or output, error messages and log data are automatically scanned for sensitive data such as login details or tokens, and this information is masked. This ensures that no confidential information appears in emails or the backend log.


FAQs

First, check whether the Symfony Mailer is configured correctly (environment variable MAILER_URL or MAILER_DSN). Then check the log in the alarm’s detail form for an error status.

This is the cooldown period. During the configured cooldown period, no new alerts are triggered, so that you are not inundated with emails. Errors occurring during this time are not lost; they are collected and included in the next notification once the cooldown period has ended.

By default, every 60 seconds via a scheduled task. This requires a Symfony Messenger worker to be running.

The language you have selected for each alert in the details form is limited to the languages provided by the chosen email template. This applies to both automatic and test emails.

Log entries that are more than 180 days old are automatically deleted by a daily scheduled task. You can also delete entries manually at any time, either individually or in bulk.

The extension is technically ready to support further alarm types (e.g. pending queue messages or payment errors). Please feel free to contact us via Support if required.


Support

If you have any questions or problems, please do not hesitate to contact us: