Antworten auf deine Fragen:
Neues Thema erstellen

error log und custom error handler

Hi,

bisher:
Code:
error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors','On');
ini_set('log_errors',1);
ini_set('error_log', LOG_PATH."error.log");
Wie zu erkennen ist, werden allen Clienten die Fehler angezeigt und auf dem Server geloggt.
Mein Ziel ist es, die PHP-Errornachricht wie sie ausgegeben werden würde, zu loggen (error_log), jedoch eine benutzerdefinierte Nachricht auszugeben (custom error handler).
Wenn ich jetzt also einen Error-Handler setze, ist der die Log-Funktion von PHP, sowie die display_errors-Einstellung komplett deaktiviert. Das heißt im Klartext: Mein benutzerdefinierter Error-Handler müsste die Log-Funktion selbst übernehmen. Klar, das ist nicht weiter ein Problem weil die Feher-Informationen ja als Parameter übergeben werden, aber schön ist es trotzdem nicht und es ergibt dann auch nicht zu 100% die gleiche Fehlernachricht.

Gibt es also eine Möglichkeit einen benutzerdefinierten Error-Handler zu nutzen, jedoch die Log-Funktion von PHP beizubehalten?
 

Hi,
du meinst, die ich soll innerhalb der Funktion einen eigenen Log schreiben und dann mittels global $php_errormsg auf die Fehlermeldung zugreifen? Nun ja, ich lass es mal durchgehen :) Aber das ist ja im Priznip wenig anders wie wenn ich mit den Parametern mir die Fehlernachricht selber zusammen bastle. Ich habe gedacht es gibt ne Möglichkeit den error-handler zu definieren ohne die native Log-Funktion außer Kraft zu setzen!?
 

Duddle

Posting-Frequenz: 14µHz

Nach etwas Recherche sieht es so aus, als ob du den PHP-eigenen Error Handler nicht als Referenz ansprechen und ihn daher auch nicht gezielt ansprechen kannst.
Das set_error_handler() überschreibt die für PHP sichtbare Funktion zur Fehlerbehandlung, restore_error_handler() entfernt nur den zuletzt hinzugefügten Handler. Mir fallen zwei Ansätze ein, die aber beide nicht besonders schick sind:
1. Imitiere die Standardfunktion, mglw. indem du in den Quellcode von PHP schaust, und bau dein eigenes Zeug drumherum.
2. Setz den Handler auf deine eigene Funktion, dann setz ihn auf den Standard zurück, löse manuell den gleichen Fehler nochmal aus, dann setz den Handler wieder auf deine eigene Funktion.

Falls du eine Lösung findest wäre es prima wenn du deinen Ansatz beschreiben könntest, mich interessiert es ebenfalls.


Duddle
 
Hi,
sorry aber das ist keine bessere Alternative zu der die ich sagte. Ich müsste halt die Fehlernachricht selbst im meinem Handler zusammenstellen und loggen, ist zwar umständig, aber viel umständlicher wäre deine Lösung.
Gibts denn da von PHP keine native Lösung mit der man die Ausgabe einer benutzerdefinierten Fehlernachricht statt einer von PHP ersetzen kann und gleichzeitig den Log nicht außer Kraft setzt?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.634
Beiträge
1.538.448
Mitglieder
67.555
Neuestes Mitglied
scheflo
Oben