logfile bleibt leer

Begonnen von Yirgacheffe, 11 August 2014, 23:00:17

Vorheriges Thema - Nächstes Thema

Yirgacheffe

Hallo liebes Forum,
ich hoffe, dass ich diese Frage hier richtig platziert habe. Ich bin zwar kein wirklicher fhem-Anfänger, aber doch in Unix perl nicht so richtig bewander. Und weder Handbuchstudium noch Google-Suche konnten mir helfen, hoffentlich jemand hier.

Ich habe das Problem, dass mein logfile leer bleibt. Vorangegangen war eine Umstellung von monats- auf wochenweise Logfiles. Vorher war das Loggen zuverlässig, aber die monatlichen Files waren zu unübersichtlich, daher die Änderung.
Der Eintrag bei 'currentlogfile' ist korrekt: ./log/fhem-2014-33.log. Die Datei existiert auch, hat aber 0 Byte. (Das erkenne ich aber nur im NAS-Fenster der fritzbox-Oberfläche, weil ich nicht weiß, wie ich in OSX auf das Fritzbox-Dateisystem zugreife.)
Mein fhem ist aktuell läuft auf einer Fritzbox 7390 mit aktueller firmware.

Hat jemand einen Tipp, was ich machen kann? So ein fhem-Blindflug ist nicht schön...


rudolfkoenig

Ich wuerde im Event Monitor oder per inform timer schauen, ob die gewuenschten Events kommen. Wenn ja, dann pruefen, ob das FileLog-RegExp passt. Wenn das auch, dann ist vermutlich der Speicherplatz nicht in Ordnung. Wenn das alles ausgeschlossen werden kann, dann bitte ich ein paar Events und die FileLog Definition uns mitzuteilen, damit wir es nachstellen koennen.

Yirgacheffe

Hallo Rudolf,
danke für die Antwort, vom König persönlich   8)
Eventmonitor - das heißt beim Link 'Eventmonitor' in der Leiste links unten? Da kommt auch nix. Wenn ich den anklicke, habe ich eine leere Seite. Gebe ich einen Schaltbefehl im Eingabefeld ein, wird der ausgeführt, aber die Seite bleibt leer.
Deutet das auf ein größeres oder ein kleineres Problem hin?

Viele Grüße
:-) Dirk

rudolfkoenig

Ich fuerchte ich habe vorher nicht gruendlich gelesen bzw. nachgedacht, und das FHEM-logfile mit einem FileLog-Datei verwechselt.
Wenn das FHEM-Logfile leer ist, dann ist entweder die Platte voll, oder fhem hat keine Schreibrechte auf die bereits erstellte Datei.

Zugriff auf dem FritzBox von OSX ist genauso wie sonst:
- auf dem FritzBox telnet aktivieren (mit dem winzigen telnet-starter-image oder mit dem angeschlossenen Telefon und Kurzwahl)
- Kommandozeilen-Fenster auf dem Client oeffnen (Terminal)
- telnet fritz.box
- FritzBox Passwort
- cd /var/InternerSpeicher/fhem
- ls -l log/fhem*

Yirgacheffe

Hallo,

danke für die kleinschrittigen Hinweise. :-)
Ich bin unfallfrei bis zur letzten Zeile gekommen, aber dann klappt es nicht mehr:
# cd /var/InternerSpeicher/fhem
# ls -l log/fhem*
ls: log/fhem*: No such file or directory
#

Was mache ich falsch?
Und wie weise ich denn der Datei die richtigen Schreibrechte zu bzw. wie kann man erreichen, dass fhem diese automatisch bekommt?

Viele Grüße
:-) Dirk

Puschel74

Hallo,

nun wäre es Zeit ein paar Linuxbefehle zu gogglen  8)

ls -l zeigt dir den Inhalt des Ordners an in dem du gerade bist (inkl. Rechte).
cd <Verzeichniss>lässt dich in das Verzeichniss <Verzeichniss> wechseln

Mach doch erstmal nur ein
ls -l
und schau ob es den Ordner <log> überhaupt gibt und welche Rechte er hat.
Mit einem
cd logwechselst du in den Ordner und dort dann nochmal
ls -lzeigt dir Verzeichnisse und Dateien im Ordner log mit deren Rechte an.

chmod ist der Befehl um Rechte zu ändern.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Yirgacheffe

@Puschel74: Danke für die Nachhilfe.  :)

Ich kam mit den Tipps einen weiteren Schritt weiter: bis ins richtige Log-Verzeichnis.
Die Zugriffsrechte auf den Ordner log/fhem wurden korrigiert (wikipedia sei Dank):
# chmod o+w fhem
# ls -l
drwxrwxrwx    1 root     root          2048 Aug 11 19:54 fhem

Und dann auch für die in Frage stehende Datei mit dem Ergebnis:
-rw-rw-rw-    1 root     root         91716 Jan 31  2014 fhem-2014-33.log


Das sieht doch so aus, als hätte jeder Schreibrechte, oder nicht?
Aber leider ändert sich das Verhalten von fhem danach nicht, das log bleibt wie gehabt leer. (fhem-Neustart habe ich auch probiert.)


rudolfkoenig

Wie man sieht, das Log ist nicht leer (91716 Bytes). Die Zeile
  define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
muss auch angepasst werden, damit man im FHEMWEB die Daten sieht.

Yirgacheffe

Zitat von: rudolfkoenig am 12 August 2014, 19:18:43
Die Zeile
  define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
muss auch angepasst werden, damit man im FHEMWEB die Daten sieht.
Die Log-Def heißt bei mir

./log/fhem-%Y-%V.log fakelog

Ist das nicht korrekt?
Ich hatte ja gerade '%m' ersetzen wollen, um wöchentliche statt monatliche Logs zu bekommen.

Zur Größe der Datei: uff, ja, das könnte ein fauxpas sein: Ich habe verdrängt, dass ich die Datei via fritzbox-Interface hineinkopiert habe, als ich feststellte, dass sie nicht existiert  :-[
Wäre es eine Option, die Datei zu löschen? Wäre fhem dann gezwungen, sie neu zu erstellen?
Sorry für so offensichtlich dumme Fragen.

rudolfkoenig

Deine Definition (attr global logfile XXX) ist korrekt, aber um diese Datei in FHEMWEB anzuzeigen wird ein fake-FileLog Eintrag angelegt (mit dem Namen Logfile), und dessen Parameter muss dem attr global Parameter angepasst sein. Ist ein Trick, um Code zu sparen.

Yirgacheffe

HEUREKA! Genau das war's:
Die beiden Definitionen waren verschieden, daher fand das webinterface nicht die richtige Datei.
Jetzt wird wieder munter geloggt.

VIELEN DANK!
:) Dirk