Malcolm Beck´s: Errorlog erweitern

Beitrag lesen

hi,

erstmal Sorry, ich hätte wohl erwähnen sollen, dass ich dieses ErrorLog einzig und allein für mein kleines CMS geschrieben habe, sprich genau auf meine Bedürfnisse angepasst habe.

Bei meinem kleinen CMS können Fehler auftreten, die mit PHP nichts zutun haben, aber dennoch Fehler sind (404er Seiten Bspw.); mir ging es nur darum, diese mitzuloggen, vorher hatte ich sie sozusagen völlig "ignoriert".

  1. Ich muß eine DB-Connection haben, wenn ich loggen will. Habe ich nicht immer. Und die Abhängigkeit der Log-Funktion von DB-Funktionen ist auch extrem unschön, weil Datenbankzugriffe einfach nicht in den Machtbereich eines Loggers gehören.

Es geht aber auch ohne die DB-Connection, also die Fehler werden trotzdem geloggt, auch wenn sie nichts mit der DB zutun haben, zwar nicht im gewünschten Format, aber ich bekomme sie zu sehen.

  1. error_log() arbeitet mit diversen Logzielen, die in der php.ini konfiguriert werden können - nicht nur mit Dateien!

Wo kann ich sie denn noch speichern? Ich muss ja die möglichkeit haben, diese auszulesen.

Deine Erweiterung geht aber fest von einer eigenständigen Datei aus, die auch noch löschbar sein soll. Diese Erwartungshaltung verträgt sich nicht mit der Verwendung von error_log().

Bei meinen Tests, Lokal und Online funktioniert es, auch wenn die Datei nicht existiert, wird sie von PHP angelegt; sicherlich, wenn ich eine Funktion bauen will, die ich dann Offiziell freigeben würde, müsste ich viel ändern.

Wenn du schon einen Datei-only-Logger schreibst, warum schickst du dann die Meldungen nicht per Dateifunktion ins Logfile?

Durch error_log werden auch PHP-Fehler gespeichert, ich weiss nicht, wie ich diese selbst abfangen und dann speichern kann.

  1. Die Konstante ErrorLogFile ist mir unbekannt.

Muss ja auch erst definiert werden ;) Dafür sind ja Konstanten gedacht, denke ich mal.

  1. Das Löschen einer zu großen Logdatei ist nicht Aufgabe des Loggers, sondern der Logfile-Rotation.

Was ist eine Logfile-Rotation?
Da hat aber auch der Alexander einen wichtigen Punkt angesprochen; wenn die Datei zu gross ist, werde ich sie zippen und speichern, dass ist wohl Sinnvoller, als sie einfach zu löschen.

Unsinnig ist es hingegen, die Datenbank hier mit einzufügen, denn einen DB-Fehler loggt man dann, wenn man sieht, dass einer aufgetreten ist. Man loggt nicht pauschal, um eventuell auch einen DB-Fehler zu erfassen. Die Generierung und Anhübschung des DB-Fehlers gehört also nicht in den Logger selbst, sondern extern in eine Meldungsgenerierungsfunktion.

Wie gesagt, mir ging es nur um mein CMS, ich kann jetzt z. B. mitloggen, wenn jemand eine nicht existierende Seite aufruft, oder irgendeinen Schwachsinn in die URI schreibt, aber ich werde deine Vorschläge berücksichtigen und mir noch ein wenig den Kopf darüber zerbrechen, so ganz gefällt es mir das, was ich jetzt habe, auch noch nicht.

mfg

--
echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
array(2) {
  ["SELFCODE"]=>
  string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
  ["Meaningful"]=>
  string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
}