analogic/alert-bundle

Simple Symfony bundle for email alerting PHP exceptions and Javascript exceptions

Installs: 79

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 0

Open Issues: 0

Type:symfony-bundle

1.3.4 2019-03-11 09:24 UTC

This package is auto-updated.

Last update: 2024-11-12 05:02:58 UTC


README

Simple symfony bundle for reporting Request Exceptions, Command Exceptions and JS Exceptions to email. It's intended use is for applications running in production giving some valuable feedback when something wrong happens.

Notice: Alert Bundle uses internal symfony mailer service, so it must be properly set

Documentation

Installation

Run from terminal:

$ composer require analogic/alert-bundle

Enable bundle in the kernel:

<?php
// app/AppKernel.php
public function registerBundles()
{
    $bundles = [
        // ...
        new Analogic\AlertBundle\AnalogicAlertBundle(),
    ];
}

Configuration

# app/config/config.yml
analogic_alert:
    enabled: true
    prefix: "[PANIC] "
    from:
        email: "exception@source.com"
        name: "Alert Monkey"
    to: 
        - "code_monkey1@example.com"
        - "code_monkey2@example.com" 
    ignore:
        - Symfony\Component\HttpKernel\Exception\NotFoundHttpException
        - Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException

You might also want to disable alerts for DEV environment:

# app/config/config_dev.yml
analogic_alert:
    enabled: false

Javascript errors catching

Insert this code into html header:

<!-- base.html.twig -->
<script>{{ javascript_error_listener() }}</script>

Commands exceptions catching

No settings needed. Commands in Symfony are run in DEV environment by default(?) so you might need add "-e prod" if you disabled alerting for DEV.

"Faster" exceptions

By default Symfony email configuration is to sent every email right away. For production is better to setup file spooling (see: https://symfony.com/doc/current/email/spool.html) with crond or better incron which does not slow down reporting.