Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 23, 2012, 07:25:33

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  SSP - Shop Server Pages
| | |-+  Tip: Firebug-Konsole zum Loggen aus SSP heraus
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Tip: Firebug-Konsole zum Loggen aus SSP heraus  (Gelesen 1311 mal)
ahe
Global Moderator
Sr. Member
*****

Lob: 19
Offline Offline

Beiträge: 407


« am: Oktober 13, 2009, 08:55:10 »

Hallo,

in SSP sind Log-Ausgaben oft die einzige Möglichkeit Fehler in eigenen Scripten zu suchen
und Abläufe in grösseren Funktionen und Modulen zu analysieren.
Hierzu dient zb die Funktion ssp::trace(), welche die Logausgabe in die shoplog.txt schreibt.

Eine bequeme Alternative bietet das Firefox-Addon "Firebug".
Firebug bietet eine in den Browser integrierte Log-Konsole, die relativ einfach auch in SSP benutzt werden kann, ohne sämtliche HTML-Vorlagen anpassen zu müssen.
Der entscheidende Vorteil zur shoplog.txt: Es braucht nicht jedesmal die Log-Datei geöffnet werden und zum Dateiende gescrollt zu werden um die letzten Ausgaben zu betrachten. Nach dem Seitenaufbau im Browser ist sind die zu loggenden Texte automatisch in der Konsole sichtbar.

Einbau:

1.) Firebug installieren (https://addons.mozilla.org/de/firefox/addon/1843)
2.) Die angehange Datei entpacken (zb im Unterordner scripts des Projektes)
3.) Die Datei in die stdall.ipl einbinden und die unten aufgeführte Funktion definieren (oder anpassen falls schon vorhanden)
Code:
<!--spmacro:include(scripts/debug.ipl)-->

<!--spmacro:module(ShopControl)
sub printateob {
    ## Auslesen der zu loggenden Zeilen
    my @dbg = debug::get();
    if (scalar(@dbg)) {
        ## Ausgeben der Zeilen in der Firebug-Konsole
        my $out = qq|<script type="text/javascript">\nif (window.console !== undefined) {\n |;
        foreach my $line (@dbg) {
            $line =~ s/"/'/g;
            $out .= qq|console.log("$line");\n|;
        }
        $out .= qq|}\n</script>|;
        main::mprint($out);
    }
}
-->
4.) Das Loggen kann dann über die Funktion debug::log() durchgeführt werden, zb:
Code:
<!--spmacro:module(test)
sub funktion {
    my $index = shift;
    my $max = shift;
   
    if ($index <= $max) {
        my $i = ssp::get_var_article("itemid", $index);
        my $p = ssp::get_var_article("preis", $index);
        debug::log("[test::funktion] index=$index, max=$max, artikel=$i, preis=$p");
    }
}
-->


   
Gespeichert

MfG ahe
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« Antwort #1 am: Dezember 07, 2009, 20:01:09 »

für alle, die Fehler in eigenen Scripten selber suchen und finden wollen um daraus zu lernen ein ideales Werkzeug als Ergänzung zu Firebug.
Seit heute weiß ich das erst richtig zu schätzen und möchte es nicht mehr vermissen Cool

Danke ahe für dieses Tool !!!
Gespeichert

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS