Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

Log je LBS

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

    #46
    Die von Dir zitierte "Syntax" von writeToCustomLog() ist nicht korrekt - im Changelog(!) steht die aktuelle Syntax...

    Sinngemäß: writeToCustomLog($LogName,$LogLevel,$LogMessage)
    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

    Kommentar


      #47
      Zitat von gaert Beitrag anzeigen
      Die von Dir zitierte "Syntax" von writeToCustomLog() ist nicht korrekt - im Changelog(!) steht die aktuelle Syntax...

      Sinngemäß: writeToCustomLog($LogName,$LogLevel,$LogMessage)
      Danke für den Hinweis, ich bin noch bei 1.31 deshalb habe ich das Changelog noch nicht gelesen
      Danke und LG, Dariusz
      GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

      Kommentar


        #48
        Macht ja nix Bei 1.31 gibt's allerdings noch keine Custom-Logs
        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

        Kommentar


          #49
          Zitat von coliflower Beitrag anzeigen
          [Du hast mir das letzte Mal deine "alte" LogFunktion gut erklärt ... könntest du mir mit ein wenig mehr Prosa als es sonst so hier verwendet wird, die neue Funktion erklären ?
          Versuchen ich das gerne kann, mein junger Jedi:

          PHP-Code:
          LB_LBSID_debug($id,"Invalid timezone $timezone specified, falling back to GMT",3); 
          Aufruf der Log-Funktion, prinzipiell wie frueher, aber mit einem extra-Parameter (der ist aber optional)
          PHP-Code:
          function LB_LBSID_debug($id,$s,$l=6) { 
          default-Belegung des dritten Parameters mit Wert 6 (falls beim Aufruf nicht mitgegeben)
          PHP-Code:
          $a=array("Emergency","Alert","Critical","Error","Warning","Notice","Informational","Debug"); 
          Definition der Unterschiedlichen Log-Level, entsprechend des Un*x-Syslogs (0≙toedlichem Fehler, 7≙Debug-Ausgabe)
          PHP-Code:
          $E=getLogicEingangDataAll($id);
          $DEBUG=$E[7]['value']; 
          Eingaenge abfragen, Log-Level feststellen (hier an E7 anliegend). Ist Log-Level 0, so wird nix geloggt, ist Log-Level zB 3, so wird "Emergency", "Alert" und "Critical" geloggt... also je hoeher der definierte Log-Level, desto umfangreichere Ausgaben im Log.
          PHP-Code:
          $l<$DEBUG && writeToCustomLog("LBSLBSID",$l,"(ID$id) ".$a[$l].": ".$s); 
          Vergleich des "extra-Parameters" mit dem Log-Level am Eingang und dann schreiben in ein Logfile.
          Das Logfile heisst prinzipiell so wie der LBS, also hier zB CUSTOMLOG_LBS19000153.log. Die Logmeldung bekommt die ID des betreffenden Bausteins in Klammern (weil ja identische Bausteine das selbe Logfile benutzen), den "textuellen" Log-Level der Meldung (also quasi den "extra-Parameter") und einen Doppelpunkt vornangestellt.

          HTH :: Michael

          Kommentar


            #50
            Danke wintermute !

            Danke für die Erklärung, wie immer sehr hilfreich - auch der Hinweis von Christian hat schon einiges plausibler erscheinen lassen :-)

            Eingaenge abfragen, Log-Level feststellen (hier an E7 anliegend). Ist Log-Level 0, so wird nix geloggt, ist Log-Level zB 3, so wird "Emergency", "Alert" und "Critical" geloggt... also je hoeher der definierte Log-Level, desto umfangreichere Ausgaben im Log.
            Meinst du, am Eingang muss eine 0 eingetragen werden oder meinst du der Eingang muss leer sein ?

            ... ist Log-Level zB 3, so wird "Emergency", "Alert" und "Critical" geloggt... also je hoeher der definierte Log-Level, desto umfangreichere Ausgaben im Log.
            Heißt das, dass hier das Array $a bei 1 anstatt bei 0 beginnt ?
            Danke und LG, Dariusz
            GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

            Kommentar


              #51
              Zitat von coliflower Beitrag anzeigen
              Meinst du, am Eingang muss eine 0 eingetragen werden oder meinst du der Eingang muss leer sein ?
              Der Eingang wird beim "<" Operator in einen numerischen Kontext gezwungen, also wenn da zB "kekse" drinsteht, dann wird das zu 0. "leer" wird ebenfalls zu 0, und "17.2" bleibt "17.2"...

              Zitat von coliflower Beitrag anzeigen
              Heißt das, dass hier das Array $a bei 1 anstatt bei 0 beginnt ?
              Nein, das Array beginnt bei 0, aber der Vergleich ist "<", nicht "<=". Also im konkreten Beispiel:
              Log-Level ist 3, kleiner als 3 sind (jetzt mal auf dieses Szenario beschraenkt ): 0,1,2
              Ergo werden die Log-Level "Emergency", "Alert" und "Critical" geloggt, also die Array-Elemente 0, 1 und 2.

              Kommentar


                #52
                OK, verstanden !
                Danke !
                Danke und LG, Dariusz
                GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                Kommentar


                  #53
                  wintermute doch noch "eine" Frage

                  $l=6:
                  PHP-Code:
                  function LB_LBSID_debug($id,$s,$l=6) { 

                  ,3);
                  PHP-Code:
                  LB_LBSID_debug($id,"Invalid timezone $timezone specified, falling back to GMT",3); 

                  debug (7):
                  PHP-Code:
                  $DEBUG=$E[7]['value']; 

                  Ich hoffe ich drücke mich richtig aus - wie ist hier die RANGFOLGE zu verstehen ?
                  Welche "Einstellung" würde was over-roulen ?

                  DANKE
                  Danke und LG, Dariusz
                  GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                  Kommentar


                    #54
                    Wird beim Funktionsaufruf der letzte Parameter (also im Syslog-Sprech die "Severity") weggelassen (also weg, nicht einfach leer), dann wird der Default-Wert 6 angenommen.
                    Guckst Du hier: http://php.net/manual/de/functions.arguments.php (unter "Vorgabewerte fuer Parameter")

                    Das
                    $DEBUG=$E[7]['value'];
                    ist der Eingang des LBS, also der gewuenschte Loglevel. Der ist von den Parametern der Funktion unabhaengig, wird aber eben damit verglichen...

                    Kommentar


                      #55
                      Wird beim Funktionsaufruf der letzte Parameter (also im Syslog-Sprech die "Severity") weggelassen (also weg, nicht einfach leer), dann wird der Default-Wert 6 angenommen.
                      Sprich so ?
                      PHP-Code:
                      LB_LBSID_debug($id,"Invalid timezone $timezone specified, falling back to GMT"); 

                      Guckst Du hier: http://php.net/manual/de/functions.arguments.php (unter "Vorgabewerte fuer Parameter")
                      Die sprechen nicht so schön in PROSA als wenn du es erklärst ... nochmals DANKE !
                      Danke und LG, Dariusz
                      GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                      Kommentar


                        #56
                        Zitat von coliflower Beitrag anzeigen
                        Sprich so ?
                        Jau

                        Kommentar


                          #57
                          Ich erkenne es nicht warum ich wenn ich auf den Eingang 10 „http“ eingebe, einen Logeintrag erhalten als wenn ich z.B.: aaaa eingeben würde :-( ?

                          PHP-Code:
                          } elseif (($E[10]['value'] != 'http') OR ($E[10]['value'] != 'file')) {
                              
                          LB_LBSID_DEBUG($id,'iTunes | E10 | ONLY http OR file at E10 is possible, NOT -->> '.$E[10]['value'],3); 

                          Code:
                           [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 1, height: 12"]
                           	 		[TR]
                           			[TD]2016-04-30 14:22:37[/TD]
                           			[TD]272964[/TD]
                           			[TD]4009[/TD]
                           			[TD]3[/TD]
                           			[TD](ID168) Error: iTunes | E10 | ONLY http OR file at E10 is possible, NOT -->> nnnn[/TD]
                           		[/TR]
                           		[TR]
                           			[TD]2016-04-30 14:22:53[/TD]
                           			[TD]025274[/TD]
                           			[TD]4837[/TD]
                           			[TD]3[/TD]
                           			[TD](ID168) Error: iTunes | E10 | ONLY http OR file at E10 is possible, NOT -->> http[/TD]
                           		[/TR]
                           	 [/TABLE]
                          Danke vorab !!
                          Danke und LG, Dariusz
                          GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                          Kommentar


                            #58
                            Weil du ein OR verwendest, statt ein AND. "http" ist ungleich "file", also gehts ins debug.

                            Versuch mal so ....

                            PHP-Code:
                            } elseif (($E[10]['value'] != 'http') AND ($E[10]['value'] != 'file')) {
                                
                            LB_LBSID_DEBUG($id,'iTunes | E10 | ONLY http OR file at E10 is possible, NOT -->> '.$E[10]['value'],3); 

                            Kommentar


                              #59
                              Wie immer, der Fehler sitzt vor dem Bildschirm …. DANKE
                              Danke und LG, Dariusz
                              GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                              Kommentar

                              Lädt...
                              X