Einfaches Logbuch

  • 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 ":


    Code
    ## 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:

    Code
    writelog $call "<"


    Damit wird in die svx.log Datum, Uhrzeit, das einkommende Call und das Kennzeichen "<", für einkommend, geschrieben.
    Z.B:

    Code
    ## 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.:

    Code
    ## 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

    Code
    cat /var/log/svx.log

    ansehen z.B.:

    Code
    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

  • Ein schönes Logbuch wie kann man es erweitern ?


    Wie:
    1.EchoLink ID (Node Nr.) anzeigen lassen
    2.eintrage ins Logbuch sollen rückwärts erfolgen aktuelle Änderung oben weniger scrollen.
    Dass alles ist interessant zum einbinden in meine Webseiten Logbuch (weniger rechte bei neuer Raspbian nur log Datei einbinden auf Webseite)


    73 dh1aa

  • Quote from DH1AA

    2.eintrage ins Logbuch sollen rückwärts erfolgen aktuelle Änderung oben weniger scrollen.


    Dazu kann ich dir folgendes selbst zusammengeschustertes PHP-Script anbieten. Dies liest das Logbuch rückwärts aus und zeigt es Tabellarisch an.


    Allerdings benutze ich in den Scripts um das Logbuch zu schreiben folgendes
    ">" wird zu "ausgehend"
    "<" wird zu "eingehend"
    "X" wird zu "getrennt"



    Vy 73 de Erik, DO1FFE

  • Evtl. kann da jemand anderes helfen, wie man die Variable station_id noch dort hinein bekommt?


    /usr/share/svxlink/events.d/local/EchoLink.tcl

    Code
    proc connecting_to {call} {
      playMsg "connecting_to";
      spellEchoLinkCallsign $call;
      playSilence 500;
      # ins Logbuch schreiben
      writelog $call "ausgehend"
    }


    Dann könnte ich was zusammenbasteln und hier bereitstellen.
    Ich selbst benutze das HamServerPi-Image und habe mir im GetSimple-Adminbereich ein Plugin angelegt, um das Logbuch anzeigen zu lassen.