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

Version 1 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];
      }

    }

  }

?>
  • Keine Stichwörter