Teil einer Log-Datei auf Webseite anzeigen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,
    die Tage zwischen den Jahren möchte ich nutzen, mein Projekt endlich weiter voranzutreiben.
    Ich kontrolliere die Zustände meiner Rollos und schreibe dies in eine Log-Datei. Nun möchte ich dies einfacher in einer HTML-Seite darstellen, kämpfe aber noch mit den Basics.

    Ursprünglich habe ich mittels

    Code
    sudo ln -s home/pi/skripte/logdatei.log

    einen Symlink in /var/WWW gelegt, und dann in die HTML-Seite Folgendes geschrieben:

    Code
    <p>
     <object data="logdatei.log" type="text/plain" width="500" height="200">
     </object>
    </p>


    Da ist aber der Zugriff verboten.
    Um überhaupt die Machbarkeit zu testen, habe ich dann den direkten Weg einprogrammiert, also

    Code
    <p>
     <object data="/home/pi/skripte/logdatei.log" type="text/plain" width="500" height="200">
     </object>
    </p>


    Die Datei findet er garnicht erst. Wo ist der Denkfehler?

    Viele Grüße
    DocAdams

    1x RaspberryPi 2, 1x RaspberryPi 3, 1x OpenELEC, 1x RaspberryPi 4 mit ioBroker ,

    Einmal editiert, zuletzt von docadams (23. Dezember 2014 um 10:57)


  • Ursprünglich habe ich mittels

    Code
    sudo ln -s home/pi/skripte/logdatei.log

    einen Symlink in /var/WWW gelegt

    Und was soll das bewirken?
    Gewöhnt euch bitte an vollständige Pfade zu nutzen. " home/pi/skripte/logdatei.log " ist nicht der absolute Pfad. Das kann so also auch nicht funktionieren.


    Bei den meisten Log Dateien in /var/log/ hat "jeder" zumindest Leserechte, ansonsten aber zumindest Gruppenmitglieder - und da wäre es dann ja nur nötig den www-data Benutzer der Gruppe hinzuzufügen also adm

  • Zitat

    Und was soll das bewirken?


    Ich dachte mir, ich hole ein Abbild der Datei ins WWW-Verzeichnis, um nicht einen vollständigen Pfad dort zu hinterlassen.

    Ich habe meinen Fehler erkannt: Ziel und Quelle verwechselt, da kann er nichts finden...
    In /var/log möchte ich die Systemlogs unter sich lassen. Darum lasse ich meinen Logs in das Verzeichnis schreiben, in dem auch das Programm liegt. Zumal ich die Logs ohnehin deaktiviere, wenn es läuft. Nur bei dem Kontroll-Log könnte ich mir späteres Interesse vorstellen.

    Nun aber meiner eigentliche Herausforderung.
    Mittels tac-Befehl habe ich eine Kopie der Log-Datei erstellt, die ich verknüpfen will. Dabei wurde die Zeilenreihenfolge umgekehrt. Also das aktuellste Ereignis zuerst. Kann ich das aber irgendwie noch auf die dann ersten 10 ... 15 Zeilen beschränken? Im Alltag interessieren mich ja nicht Ereignisse der letzten Wochen, aber vielleicht von letzter Nacht.

    Viele Grüße
    DocAdams

    1x RaspberryPi 2, 1x RaspberryPi 3, 1x OpenELEC, 1x RaspberryPi 4 mit ioBroker ,

  • Hm ich versteh nicht so recht was du erreichen möchtest :huh:

    Du hast ein Programm - Python? - welches Ausgaben erzeugt, oder direkt in eine Logdatei schreibt? Nun möchtest du über eine Webseite diese Logdatei anzeigen - aber immer nur die aktuellen letzten Zeilen?

    Ich würde versuchen mithilfe von popen(); und tail -f eine art Live-Log zu erzeugen. Alternativ ginge aber auch nur zB tail -n10 oder eine Kombination aus tac und tail -n10 :
    tac /path/to/file | tail -n10 allerdings ist das recht langsam

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!