Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 4 Nächste Version anzeigen »

Brandbox integriert sich nahtlos in Monolog, eine beliebte PHP logging Bibliothek, um Log-Nachrichten zu erstellen und zu speichern. Bitte konfigurieren Sie Monolog wie hier beschrieben.

Eine Nachricht loggen

use brandbox\component\log;

$log = log\log::get();
$log->emergency('...');
$log->alert('...');
$log->critical('Some critical error occured!');
$log->error('...');
$log->warning('...');
$log->notice('...');
$log->info('...');
$log->debug('...');

Bitte beachten Sie die unterschiedlichen Protokollierungsebenen.

Log-Level-Konfiguration

Der Logger-Dienst verfügt über verschiedene Methoden für unterschiedliche Protokollierungsebenen / -prioritäten. Er ist so konfiguriert, dass er auf der Ebene einer Nachricht verschiedene Aktionen ausführt. Abhängig von der oben beschrieben Konfiguration werden alle Nachrichten an den Browser gesendet. 

\Monolog\Logger::DEBUG

Bis zu diesem Log-Level werden Ausgaben an den Browser gesendet.

\Monolog\Logger::CRITICAL

Ab diesem Log-Level werden E-Mails an den Administrator gesendet.

Wo werden Logs gespeichert?

Logs werden im Ordner /temp/log/ abgelegt und gemäß Rotate-Einstellungen vorgehalten.

Logging pro Laufzeit

Zusätzlich zum persistenten Logging bietet brandbox die Möglichkeit Logs pro Laufzeit zu sammeln und diese bei Bedarf in ein notifyBlock-Objekt zu verwandeln. Dieses kann in der Oberfläche ausgegeben werden.

Erstellen eines Eintrages im Laufzeit-Log
<?php

  namespace brandbox\sample\plugin\lib\execute {

    use brandbox\admin\plugin;

    /**
     * @author Max Mustermann <mustermann@konmedia.com>
     */
    class example extends plugin\lib\executeAbstract {

      /**
       * @return void
       */
      public function execute() {

        $log = $this
          ->getApplicationConfig()
          ->getRuntimeLog()
        ;

        $log->emergency('...');
        $log->alert('...');
        $log->critical('...');
        $log->error('...');
        $log->warning('...');
        $log->notice('...');
        $log->info('...');
        $log->debug('...');

      }

    }

  }

?>
Abrufen der Einträge im Laufzeit-Log
<?php

  namespace brandbox\sample\plugin {

    use brandbox\admin\plugin;

    /**
     * @author Max Mustermann <mustermann@konmedia.com>
     */
    class example extends plugin\lib\requestAbstract {

      /**
       * @return array
       */
      public function get() {

        $notifications = $this
          ->getApplicationConfig()
          ->getRuntimeLog()
          ->getNotifications()
        ;

        return ['notifications' => $notifications];
      }

    }

  }

?>

Last internal calls

Es ist möglich sich im Log den jeweils letzten brandbox-call ausgeben zu lassen. Zu dem Zweck wird in der config.php eine Konfiguration ergänzt.

'log' => [
    'lastInternalCall' => true
]

Achtung: Diese Funktion darf ausschließlich zu lokalen Testzwecken aktiviert werden. Es kann im Live-Betrieb dazu kommen, dass Objekt-Daten ausgegeben werden, die besser nicht im Log landen (bspw. personenbezogene Daten).

E-Mail-Benachrichtigungen für Einträge im Ereignislog

Definieren einer neuen Regel

  • Klicken Sie in der Hauptnavigation der Administrationsoberfläche auf 
  • Öffnen Sie die Karte " Logs" im Bereich "Konfiguration"
  • Klicken Sie auf die Datenbanktabelle "Benachrichtigungen"
  • Erstellen Sie eine neue Regel mit einem Klick auf 

Eine Regel basiert auf einem Suchfilter, welcher die relvanten Einträge des Ereignislogs filtert. Sie können diese Suchfilter über die Toolbar der Tabelle " Ereignislog" verwalten. Die E-Mail-Benachrichtigungen werden über einen Cronjob versendet, welcher standardmäßig deaktiviert ist und explizit aktiviert werden muss.

Eventübersicht

KlassennameBeschreibung
OnPopulateParameterWird vor dem Versand der E-Mail-Benachrichtigungen ausgelöst und definiert die in der E-Mail-Vorlage verfügbaren Parameter welcher in der Eigenschaft parameter festgelegt werden.
  • Keine Stichwörter