You are not logged in.

H.Lunke

Beginner

  • "H.Lunke" started this thread

Posts: 4

Location: León, Nicaragua

  • Send private message

1

Wednesday, July 15th 2015, 5:00pm

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:

Source code

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


Eintrag in Logdatei:

Source code

1
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:

Source code

1
2
3
4
5
6
<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:

Source code

1
2
3
4
5
6
7
<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]

toosten

Intermediate

Posts: 463

Location: Berlin

Occupation: freier Software-Entwickler ( HTML, JS, PHP, JSP, Flash, AS3, C++, Java, krpano, ---)

  • Send private message

2

Thursday, July 16th 2015, 6:26pm

Das Objekt log ist soweit ich sehen kann global, somit :

Source code

1
2
3
4
5
6
<script type="text/javascript">
function logmsg(p1)
{
log.info(p1);
}
</script>

H.Lunke

Beginner

  • "H.Lunke" started this thread

Posts: 4

Location: León, Nicaragua

  • Send private message

3

Thursday, July 16th 2015, 11:38pm

Besten Dank für Deine Antwort.

Den Fehler hatte ich selber in folgd. Zeile eingebaut:

Source code

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


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

Source code

1
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]