Ankündigung

Einklappen
Keine Ankündigung bisher.

Log je LBS

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

  • coliflower
    antwortet
    Wie immer, der Fehler sitzt vor dem Bildschirm …. DANKE

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    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); 

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    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 !!

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von coliflower Beitrag anzeigen
    Sprich so ?
    Jau

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    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 !

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    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...

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    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

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    OK, verstanden !
    Danke !

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    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.

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    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 ?

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    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

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Macht ja nix Bei 1.31 gibt's allerdings noch keine Custom-Logs

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    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

    Einen Kommentar schreiben:


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

    Sinngemäß: writeToCustomLog($LogName,$LogLevel,$LogMessage)

    Einen Kommentar schreiben:


  • coliflower
    antwortet
    wintermute

    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 ?

    Die Alte war ja z.B.:
    PHP-Code:
    LB_LBSID_DEBUG($id,'iTunes | E03 | IP-Adresse ist:        '.$E[3]['value']); 
    PHP-Code:
    function LB_LBSID_DEBUG($id,$a) {writeToTraceLog(0,true,"LBSLBSID($id): ".$a)}; 

    Christian's neuste Kreation ...
    Funktion: writeToCustomLog($logName,$logExpire,$logLevel,$lo gMsg,$separator)

    logName: Name des Logs, z.B. "LBS19000001 Fehlerlog"
    logExpire: Anzahl der Tage nach denen das Log gelöscht werden soll (wird im Dateinamen untergebracht)
    logLevel: Beliebiger Wert/String (wird aktuell nur ins Log geschrieben)
    logMsg: die Log-Nachricht
    separator: beliebige(s) Zeichen zum Trennen von Timestamp, logLevel und logMsg (default ist TAB)

    Wenn ich mir z.B. deinen LBS 19000153 anschaue:
    PHP-Code:
    LB_LBSID_debug($id,"Invalid timezone $timezone specified, falling back to GMT",3); 
    PHP-Code:
    function LB_LBSID_debug($id,$s,$l=6) {
    $a=array("Emergency","Alert","Critical","Error","Warning","Notice","Informational","Debug");
    $E=getLogicEingangDataAll($id);
    $DEBUG=$E[7]['value'];
    $l<$DEBUG && writeToCustomLog("LBSLBSID",$l,"(ID$id) ".$a[$l].": ".$s); 

    Einen Kommentar schreiben:

Lädt...
X