+ Antworten
Seite 1 von 29 1 2 3 11 ... LetzteLetzte
Ergebnis 1 bis 10 von 290
  1. #1
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,270

    Smile IPSLogger - mein kleiner feiner LogHandler für IPS

    Hallo Leute,

    hab mir einen LogHandler für IPS geschrieben und weil ich mir dachte, der könnte auch für andere interessant sein, hab ich ein auch gleich ein Installations Script geschrieben.

    Habe meine Logs in verschiedene Kategorien bzw. Levels unterteilt, je höher der Level desto detailierter die Protokolierung:
    • Fatal – Schwerwiegende Fehler (LogLevel=0)
    • Error – „Normale“ Fehler (LogLevel=1)
    • Warning – Warnungen (LogLevel=2)
    • Notification – Warnungen (LogLevel=3)
    • Information – Informationsmeldungen, zur Protokollierung von Schaltvorgängen usw. (LogLevel=4)
    • Debug – Debug Meldungen (LogLevel=5)
    • Communication – Protokollierung von Kommunikations Instanzen (Senden/Empfangen über RS232, Sockets, ...) (LogLevel=6)
    • Trace – Sehr detailierte Meldungen, um diverse Ablauffehler zu finden (LogLevel=7)
    • Test – Test Meldungen – verwende ich nur temporär um Fehler zu finden, man kann nach diesen Meldungen suchen und sie nach finden des Fehlerers wieder entfernen(LogLevel=8)


    Unterstütze zur Zeit 8 verschiedene Outputs, für jeden kann man den LogLevel spezifisch definieren:
    • SingleMsg Output: enthält die letzte LogMeldung, vorgesehen als Widget, um sofort auf einen Fehler aufmerksam gemacht zu werden (verwendung von LogLevel Error oder Warning). Anzeige der Meldung kann durch Klick auf die Meldung Quittiert/Resetet werden.
    • Html Output: Output in HTML Form zur Verwendung im WebFront, Anzahl der Messages kann konfiguriert werden
    • IPS Output: IPS interner Logging Output
    • File Output: Protokollierung in ein File, für jeden Tag wird ein neues LogFile angelegt, Anzahl der Tage kann definiert werden, danach werden die Files autom. gelöscht. Standardmäßig wird in das IPS „logs“ Verzeichnis gelogged, kann aber über eine Konstante auch verändert werden.
    • Log4IPS Output: XML Protokollierung, die sich an die allgemein bekannte Form Log4Net,Log4Java usw. anlehnt. Ansehen kann man sich das File am besten mit diversen Tools (ich persönlich verwende Log4View, freie Version kann man sich auf der Homepage des Herstellers Log4View downloaden ).
    • Email Output: Bietet die Möglichkeit sich über Fehler im System per Email informieren zu lassen. Ein Sende Verzögerung kann konfiguriert werden, bei 0 wird bei jedem Fehler (wenn LogLevel auf Error) sofort gesendet, ansonsten wird die angegebene Zeit gewartet und danach alle aufgetretenen Fehler als Liste versandt. Um den Email Output verwenden zu können muß man im File IPSLogger_Constants die ID für das SMTP Device eintragen. Optional kann man auch noch 1-3 Email Adressen eingtragen, standardmäßig wird der Emfänger verwendet, der im Device angegeben ist. Vorsicht: bei Delay 0 kann man sich potenziell einen Spam-Server basteln falls man irgenwo einen Endlos-Loop mit Fehler hat ...
    • Echo Output: Echo Output, kann in der Entwicklungs Phase von Scripten genützt werden.
    • Prowl Output: Ermöglicht das Senden von Messages direkt auf das iPhone.


    Installation:
    siehe Wiki: /wiki/IPSLogger

    Best Practice zur Verwendung des Loggers:
    siehe Wiki: /wiki/IPSLogger

    Vor der Installation natürlich Backup machen.

    lg
    Andreas

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	iPhone.jpg 
Hits:	913 
Größe:	52.3 KB 
ID:	11383 Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPSLogger_Overview.jpg 
Hits:	985 
Größe:	73.2 KB 
ID:	12239 Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPSLogger_WebFront.jpg 
Hits:	1260 
Größe:	135.4 KB 
ID:	12240 Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPSLogger_Widget.jpg 
Hits:	738 
Größe:	11.9 KB 
ID:	12241 Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPSLogger_Log4View.jpg 
Hits:	988 
Größe:	127.9 KB 
ID:	12242 Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPSLogger_EMailSettings.jpg 
Hits:	768 
Größe:	65.8 KB 
ID:	12243
    Geändert von Brownson (01.12.12 um 09:56 Uhr) Grund: Korrektur im Installations Script

  2. #2
    Registriert seit
    Mar 2008
    Ort
    Ruesselsheim
    Beiträge
    3,380

    Hallo
    Schoenes Teil.
    Hab es gleich probiert und es funktioniert beinahe
    problemlos. Einzig die Farben gehen nicht , auch der 2 Eintrag in der
    Liste Trc,Inf,Dbg wird nicht angezeigt ( siehe Bild )
    Angehängte Grafiken Angehängte Grafiken  

  3. #3
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    wow! beeindruckendes Programm!

    ich habs gleich installiert, soweit ich das Programm verstehe (das wird wohl noch dauern bis ich alles durchdrungen habe) funktioniert auch alles (incl. Mail).

    Danke sehr!
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

  4. #4
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,270

    @1007

    hab mir meinen Code nochmals angesehen, zu diesem Effekt kann es eigentlich nur kommen, wenn man globale Variablen in PHP disabled hat.

    Wirf da einmal einen Blick drauf.

    Werde meine globalen Variablen in den nächsten Tagen durch eine Alternative ersetzen, da die Verwendung von globals ohnehin nicht sehr "sauber" ist ...

    lg
    Andreas

  5. #5
    Registriert seit
    Mar 2008
    Ort
    Ruesselsheim
    Beiträge
    3,380

    Hallo
    Eintrag in php.ini sieht so aus :register_globals=on
    phpinfo zeigt auch :register_globals=on

    Jetzt wo du was von Globals schreibt , seit meinem letzten
    IPS update ging ein Script von mir nicht mehr in dem ich
    Globals verwendet habe. Meine aktuelle Version ist
    Kernel 2.30
    LiveUpdate 07.11.10 #1799

    Werd mal ein Update machen wenn es eins gibt.

  6. #6
    Registriert seit
    Mar 2008
    Ort
    Ruesselsheim
    Beiträge
    3,380

    Hab noch einiges probiert und es mit folgendem Code zum Laufen gebracht

    PHP-Code:
        include_once "IPSLogger_Constants.ips.php";
        include_once 
    "IPSLogger_Output.ips.php";

        Include 
    "IPSLogger.ips.php";

       
    define ("c_LogId""My");

       
    IPSLogger_Inf(c_LogId"Info");
       
    IPSLogger_Err(c_LogId'Error');
        
    IPSLogger_Fat(c_LogId'Fatal');
        
    IPSLogger_Wrn(c_LogId'Warning');
        
    IPSLogger_Dbg(c_LogId'Debug');
        
    IPSLogger_Com(c_LogId'Comment');
        
    IPSLogger_Tst(c_LogId'Test');
        
    IPSLogger_Trc(c_LogId'Trace'); 
    ohne die include_once vor dem Aufruf geht es nicht.

  7. #7
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,270

    hmm, versteh ich nicht, die beiden includes sollten im File IPSLogger.ips.php stattfinden.

  8. #8
    Registriert seit
    Mar 2008
    Ort
    Ruesselsheim
    Beiträge
    3,380

    Ist glaub ich mein Fehler. Geht jetzt.
    Hat wohl mit einem include in einer Function zu tun.
    Hab es getestet mit
    einer Function
    PHP-Code:
    require_once IPS_GetScriptID("Funcpool").".ips.php";
    ipslog(); 
    im Funcpool gibt es die Function
    PHP-Code:
    function ipslog()
        {
        
        Include_once 
    "IPSLogger.ips.php";
        
       
    define ("c_LogId""My");

       
    IPSLogger_Inf(c_LogId"Info");
       
    IPSLogger_Err(c_LogId'Error');
        
    IPSLogger_Fat(c_LogId'Fatal');
        
    IPSLogger_Wrn(c_LogId'Warning');
        
    IPSLogger_Dbg(c_LogId'Debug');
        
    IPSLogger_Com(c_LogId'Comment');
        
    IPSLogger_Tst(c_LogId'Test');
        
    IPSLogger_Trc(c_LogId'Trace');
        
        } 
    Das geht so nicht.
    Das geht
    PHP-Code:
    require_once IPS_GetScriptID("Funcpool").".ips.php";
    Include 
    "IPSLogger.ips.php";
    ipslog(); 
    Alles wird gut :-)

  9. #9
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,270

    Na Bestens, dann gibts ja jetzt schon 2 die meinen LogHandler in Betrieb haben ...

  10. #10
    Registriert seit
    Mar 2008
    Ort
    Ruesselsheim
    Beiträge
    3,380

    Hallo
    Hab heute mal fuer mich etwas geaendert weil ich die farblichen Balken ueber
    die ganze Bildschirmbreite haben wollte
    PHP-Code:
                $TablePrefix  '<table 100% style="'.c_Style_HtmlOutTable.'">';
          
    $TablePrefix  $TablePrefix ."<colgroup>";
          
    $TablePrefix  $TablePrefix ."<col width='10'>";
          
    $TablePrefix  $TablePrefix ."<col width='10'>";
          
    $TablePrefix  $TablePrefix ."<col width='10'>";
          
    $TablePrefix  $TablePrefix ."<col width='300'>";
          
    $TablePrefix  $TablePrefix ."<col width='2000'>";
          
    $TablePrefix  $TablePrefix ."</colgroup>"
    Ausserdem ist mir aufgefallen , dass bei der Uhrzeit die Microsekunden immer
    000 ist (wers braucht ). Und gleich noch das Datumsformat geaendert.
    PHP-Code:
               $Out .=    '<td>'.date('d.m.Y H:i:s').substr(microtime(1),-5).'</td>'
    Vielleicht kannst du es in der naechsten Version einbauen.

Ähnliche Themen

  1. Newbie hat eine Frage! Mail per IPS?
    Von Xanon im Forum Allgemeine Diskussion
    Antworten: 7
    Letzter Beitrag: 14.10.10, 18:40
  2. IPS 2. Anlauf Installationsprobleme
    Von edison im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 03.09.10, 13:07
  3. IPS hängt sich auf nach SSL aktivieren
    Von pleibling im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 26.10.08, 20:18
  4. IPS runterfahren während Designer noch läuft !
    Von guyabano im Forum Dashboard
    Antworten: 11
    Letzter Beitrag: 14.01.07, 22:42