Moin in die Runde,
ich möchte hier die Lösung vorstellen, wie man ein einfaches Logbuch in svxlink implementieren kann.
1. die Datei /var/log/svx.log anlegen und mit Lese- und Schreibrechten für jedermann versehen.
2. In der Datei /usr/share/svxlink/events.d/local/echolink.tcl ergänzen:
2.1 z.B. nach der Procedur "remote_greeting ":
## ins Logbuch schreiben#---------------------------------proc writelog {ecall etxt} { set date [clock seconds]; set date [clock format $date -format {%Y.%m.%d %T}]; set log [open "/var/log/svx.log" a+]; puts $log "$date | $ecall $etxt"; close $log}
2.2 nun in der EchoLink.tcl ans Ende der Procedur "remote__greeting" einfügen:
Damit wird in die svx.log Datum, Uhrzeit, das einkommende Call und das Kennzeichen "<", für einkommend, geschrieben.
Z.B:
## Executed when an incoming connection is accepted# Dieses wird abgespielt!#proc remote_greeting {call} { playSilence 1000; playMsg "herzlich_willkommen_bei"; spellEchoLinkCallsign "DF0BS"; writelog $call "<"}
2.3 Diesen Aufruf "writelog" kann man nun in der EchoLink.tcl an verschiedenen Stellen einfügen, z.B.:
## Executed when an outgoing connection has been requested.#proc connecting_to {call} { playMsg "connecting_to"; spellEchoLinkCallsign $call; playSilence 500; # ins Logbuch schreiben writelog $call ">"}## Executed when an EchoLink connection has been terminated#proc disconnected {call} { spellEchoLinkCallsign $call; playMsg "disconnected"; playSilence 500; # ins Logbuch schreiben writelog $call "X"}
3. Die svx.log kann man sich von der Komandozeile mit
ansehen z.B.:
2016.02.16 15:56:00 | DF6QP <
2016.02.16 15:56:31 | DF6QP X
2016.02.16 16:35:51 | DM0LEI-R >
2016.02.16 16:45:14 | DM0LEI-R X
2016.02.16 19:33:14 | *ECHOTEST* >
2016.02.16 19:33:39 | *ECHOTEST* X
< = connect einkommend
> = connect ausgehend
X = diskonnect
Ich hoffe, ich habe nichts vergessen und wer will kann dies nachvollziehen.
Wie immer, bei mir geht es, aber ich ünernehme keinerlei Haftung!
73
Steffen