[PHP] SimpleLogger - Ein einfache Logger-Klasse

[PHP] SimpleLogger - Ein einfache Logger-Klasse

Hi, sorry für das späte zurückmelden.

Wie SilentWarrior schon schrieb, werden die Log-Level automatisch an die Haupt-Funktion übergeben, sobald man eine der Wrapper-Funktionen wie "error()", "debug()" oder "info()" aufruft. Stattderer wäre es auch möglich, die Funktion "log()" mit den entsprechenden Parametern aufzurufen:

PHP:
SimpleLogger::log(SimpleLogger::error, "Ich bin eine Fehlermeldung");

Es ist bspw. auch möglich, Variablen-Inhalte zu loggen. Hier mal etwas Code und das Log, das dabei entsteht:

PHP:
<?php
require 'SimpleLogger.php';

// Einfache Verwendung einer Wrapper-Methode
SimpleLogger::info("Initialisiere Anwendung\n");


// Verwendung der Methode log();
$aVariable = "Hier steht ein nicht besonders sinnvoller Text";
SimpleLogger::log(SimpleLogger::DEBUG, $aVariable . "\n");


// Verwendung der Methode dump() zum loggen von Variablen-Inhalten und -Typen
$kreisRadius = 6; // in cm
$bVariable = 3.14156 * $kreisRadius * 2;
SimpleLogger::dump($bVariable . "\n");


// Verwendung der Methode logException()
try
{
  // Hier der Code, der eine beliebige Ausnahme abgeleitet von \Exception wirft:
  throw new ErrorException("Etwas wirklich schreckliches ist passiert: sie haben Kenny getötet!", -6, null, __FILE__, __LINE__, null);
}
catch(Exception $ex)
{
  SimpleLogger::logException($ex);
}

Code:
2015-02-08 08:53:05   [INFO ]: Initialisiere Anwendung
2015-02-08 08:53:05   [DEBUG]: Hier steht ein nicht besonders sinnvoller Text
2015-02-08 08:53:05   [DEBUG]: Contents of string
'37.69872
'
2015-02-08 08:53:05   [ERROR]: Exception ErrorException occured: Etwas wirklich schreckliches ist passiert: sie haben Kenny getötet!
#0 {main}

Grüße und viel Spaß
 
hi, kann man diese ...
PHP:
// Verwendung der Methode logException()
try
{
  // Hier der Code, der eine beliebige Ausnahme abgeleitet von \Exception wirft:
  throw new ErrorException("Etwas wirklich schreckliches ist passiert: sie haben Kenny getötet!", -6, null, __FILE__, __LINE__, null);
}
catch(Exception $ex)
{
  SimpleLogger::logException($ex);
}
... auch innerhalb von einer Klasse aufrufen? Also zum Beispiel, der Login oder DB Klasse?
 
Zurück