Ankündigung

Einklappen
Keine Ankündigung bisher.

Error log vs. customLog

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Error log vs. customLog

    Hallo Leute,
    bin Anfänger und habe einen LBS gebaut der mir Album Cover von einem Musikserver anzeigt. Wenn dieser aus ist, wird mir mein Edomi Error log hiermit zugespammt:
    .
    .
    2019-10-22 16:20:28 216954 ? 7629 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000003.php | Fehlercode: 2 | Zeile: 10 | get_headers(http://192.168.2.63:15556/albumart.jpg): failed to open stream: No route to host ERROR
    .
    .
    Kann ich diesen Fehler irgendwie nicht ins globale Edomi ERRLOG, sonders in ein custom log schreiben?
    Ich kann mit writeToCustomLog ein zusätzliches log befüllen aber im ERRLOG landet der Fehler trotzdem.

    Kann mit bitte jemand die Zusammenhänge erklären? Wann zum Beispiel landet was im ERRLOG?

    Vielen Dank
    Grüße aus Leipzig

    Philipp

    #2
    Im Error Log landen alle Fehler, die in PHP auftreten und im CustomLog alle selbst erzeugten Logeinträge. Von daher sind die Zusammenhänge logisch, oder?

    Ein Umleiten der PHP Error Messages geht nur , wenn man den ErrorHandler umbiegt, z.B. so

    PHP-Code:
    function myErrorHandler($errno$errstr$errfile$errline)
    {
        global 
    $id;
        
    logging($id"File: $errfile | Error: $errno | Line: $errline | $errstr ");
    }

    function 
    error_off()
    {
        
    $error_handler set_error_handler("myErrorHandler");
        
    error_reporting(0);
    }

    function 
    error_on()
    {
        
    restore_error_handler();
        
    error_reporting(E_ALL);

    All das macht nur im EXEC Bereich des LBS wirklich Sinn.
    Dabei wir vorausgesetzt, dass du eine logging($id,$message) Funktion hast, welche dann die Nachricht in das Customlog schreibt.

    Kommentar


      #3
      Einfacher wäre es jedoch die Fehler gar nicht entstehen zu lassen. Prüf doch vorher ob die Resource auch verfügbar ist.

      Kommentar


        #4
        vento66 ja das mache ich ja eigentlich mit der Funktion get_headers . Je nachdem was zurück kommt, weiß ich ob ein Cover da ist oder eben nicht. Wie könnte ich das besser machen?
        Grüße aus Leipzig

        Philipp

        Kommentar


          #5
          Wenn das Gerät aber nicht verfügbar ist, wartet PHP auf eine wenigstens eine Antwort, ob die Anfrage von einem Gerät empfangen wurde. Ping das Gerät doch vorher an, bevor du den request schickst.
          Zuletzt geändert von vento66; 22.10.2019, 21:17.

          Kommentar


            #6
            Ganz so einfach ist es nicht.
            Mit get Headers checke ich ja auch ob ein Bild da ist oder nicht. Es gibt also drei Zustände. Aus, Cover Bild oder kein Cover Bild vorhanden.

            Aber stimmt schon wenn ich in der ersten Abfrage checke ob der Ping geht, würde ich den Fehler abfangen. Weißt du spontan wie ich nen Ping per PHP absetze und die Antwort auswerte?
            Grüße aus Leipzig

            Philipp

            Kommentar


              #7
              Entweder Du setzt vor deinen LBS den Hostcheck LBS, oder kopierst die relavanten Teile in deinen LBS

              Kommentar


                #8
                Danke für Eure Hilfe, hab es über einen ping vorneweg gelöst!
                Das umbiegen der logs ist mir aktuell noch zu "hohe Schule".
                Grüße aus Leipzig

                Philipp

                Kommentar

                Lädt...
                X