Logging via Telnet

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Logging via Telnet

    Hallo Forum
    ich möchte folgendes realisieren:
    Meine Log Meldungen, welche ich mit trigger_error() generiere aber auch die von PHP selbstgenerierten Meldungen sollen über einen bestimmten Port via Telnet abgefragt werden können.

    telnet mymachine.php.de 5000

    würde dann in meinem Telnet Fenster die Log Ausgabe zeigen.
    Dazu folgende Fragen:
    Kann ich alle Logausgaben blind in einen Socket schreiben, auch wenn niemand verbunden ist und ohne dass mein PHP Script blockiert?

    Hat jemand vielleicht soviel Erfahrung mit Socket usw., dass er ein kleines Code Schnippsel einstellen könnte.. wäre toll.
    Set_error_handler ist mir ein Begriff, ich bräuchte nur Unterstützung, wie man einen Server aufsetzt, der quasi blind aufs Netz Meldungen schickt.

    Vielen Dank für die Hilfe und herzliche Grüsse
    Stephan

  • #2
    Hi,

    ich würde zu diesem zweck einen logdemon schreiben. In php
    oder welcher sprache auch immer. Deine php-scripte schicken
    fehlermeldungen zu diesem demon. Der demon erkennt dass
    es sich um eine eingabe handelt bsp.: an einem bestimmten
    schlüsselwort oder was auch immer. Das hängt von deinem
    protokoll ab. Und lesender zugriff über bsp. eine telnetsession
    werden eben anhand des fehlenden schlüsswelwortes erkannt.
    Und fehler meldungen werden fortwährend ausgegeben.

    so in etwas liesse sich das erledigen. Wichtig ist nur dass dein
    protokoll gut ausgearbeitet ist.

    Eine andere möglichkeit wäre es einfach einen demon zu schreiben
    der immer ein tail auf die logfiles hält und die dann auf den socket
    schreibt.

    Dinge die du hierfür brauchst sind asynchrone IO, sockets und
    evtl. andere formen der ipc.

    greets
    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

    Kommentar


    • #3
      So einen Deamon gibt es schon: syslogd.

      Nutze in deinen PHP-Scripts einen selbstgebauten Errorhandler mit syslog(). Konfiguriere syslogd so, dass PHP-Fehler in eine FIFO-Datei geschrieben werden, die du mit tail -f mitlesen kannst. Oder lass syslogd auf die Konsole des Telnetnutzers schreiben.

      Kommentar


      • #4
        Hi,

        an syslogd habe ich zunächst auch gedacht, aber ich war mir
        nicht sicher ob der OP das für eine unix-maschine macht oder
        für ein anderes OS.

        greets
        (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

        Kommentar

        Lädt...
        X