Besuchsprotokollierung mittels log4javascript-AjaxAppender

  • Hallo,

    ich möchte eine serverseitige Protokollierung der Tourbesuche einrichten, es mangelt mir aber an ausreichenden Javascript-/Programmier-Kenntnissen... die Tour wurde mit Panotour Pro erstellt, es handelt sich aber nicht um ein Problem der Oberfläche:

    Beim Klicken der Hotspots sollen Daten per "log4javascript-AjaxAppender" an den Server übertragen werden, um dort per "log4php" zur zentralen Auswertung in einer Logdatei zu landen.

    Die serverseitige Verarbeitung funktioniert:

    Code
    curl --data "M=pano10&U=me@example.com" http://www.example.com/logger.php

    Eintrag in Logdatei:

    Code
    2015-07-15T16:27:31+02:00 INFO MyLogger pano10 me@example.com

    Auch die lokale Anzeige per Popup-Window funktioniert bei Aufruf folgd. Funktion: logmsg(get(xml.scene))

    Definition in index.html:

    Code
    <script type="text/javascript">
    function logmsg(p1)
    {
    alert(p1);
    }
    </script>

    Nun soll statt dem "alert" aber die "log.info"-Funktion von "log4javascript" ausgeführt werden:
    Definition in index.html:

    Code
    <script type="text/javascript" src="log4javascript.js"></script>
    <script type="text/javascript">
    var ajaxAppender = new log4javascript.AjaxAppender(http://www.example.com/logger.php);
    var layout = new log4javascript.PatternLayout("%m");
    log.addAppender(ajaxAppender);
    ajaxAppender.setLayout(layout);
    </script>

    Die Frage ist also, wie ich die Funktion "log.info(message)" ausführen kann, die ja nicht explizit in der index.html-Datei definiert wird?
    Herzlichen Dank schonmal für Eure Hilfe!

    Paradise is exactly like where you are right now -
    only much, much better.
    [Laurie Anderson, Language is a virus]

  • Besten Dank für Deine Antwort.

    Den Fehler hatte ich selber in folgd. Zeile eingebaut:

    Code
    var ajaxAppender = new log4javascript.AjaxAppender(http://www.example.com/logger.php);

    Die URL muss in Anführungszeichen stehen, und schon funktioniert :)

    Code
    var ajaxAppender = new log4javascript.AjaxAppender('http://www.example.com/logger.php');

    In der Debugger-Konsole wurde eine fehlende schliessende Klammer angemeckert, das war der entscheidende Hinweis.

    Paradise is exactly like where you are right now -
    only much, much better.
    [Laurie Anderson, Language is a virus]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!