FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: cocojambo am 08 April 2014, 10:25:09

Titel: In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: cocojambo am 08 April 2014, 10:25:09
Ich habe den Speicherplatz der Logdatei auf einen USB Stick der Fritzbox umgeleitet in der fhem.cfg mit:

attr global logfile /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/fhem-%Y-%m.log

klicke ich jetzt auf den Punkt Logfile in der PGM2 Ansicht, bekomme ich keins angezeigt, weil es sich jetzt auf einem anderen Speicherort befindet. Wie kann ich das ändern und wo muß ich die Pfadangabe ändern. Vielen Dank
Gruß
Norbert aus köln
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: cocojambo am 08 April 2014, 14:00:56
Hallo,

wenn das nicht geht oder keiner weiß wie es geht, könnte man dann nicht in den ursprünglichen log Ordner einen Link hereinsetzen der auf zu dem neuen Speicherort USB verlinkt ist?

gruß aus köln
norbert
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: betateilchen am 08 April 2014, 15:04:52
Du kannst doch das logdir einfach mit dem globalen Attribut logdir angeben?

attr global logdir <woAuchImmer>

Manche Probleme verstehe ich einfach nicht...
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: cocojambo am 08 April 2014, 17:19:05
Hallo,
vielen dank für deine antwort, aber manche probleme verstehe ich auch nicht und deshalb denke ist dieses board ja da, mit dem hinweis unter anfängerfragen extra mit dem vermerk: jeder fängt mal an....

ich habe das so in die fhem.cfg eingebaut:
attr global logdir /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/fhem-%Y-%m.log
# attr global logfile ./log/fhem-%Y-%m.log

Beim anklicken von Logfile im Frontend kommt das:
FileLog_logWrapper: bad arguments

mache ich es so:
attr global logdir /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/
attr global logfile /log/fhem-%Y-%m.log

stürtzt Fhem ab und ist nur noch nach Neustart der Fritzbox wieder erreicbar.

oder habe ich das falsch verstanden?
gruß aus köln
norbert
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: cocojambo am 08 April 2014, 20:41:10
Hallo,
ich habe es inzwischen so gemacht:
attr global logfile /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/fhem-%Y-%m.log
attr global logdir /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/

Damit sind die Log-Files auch im Ordner auf dem USB Stick und kommen auch keine Fehlermeldungen mehr, aber wenn ich im Frontend auf Logfile klicke, ist nichts da.

Jetzt habe ich folgendes gelesen: die Globals gelten nur für neu angelegte, die bereits vorhandenen
musst Du (z.B. per Suche/Ersetzen) noch ändern!

Das soll zumErfolg geführt haben, aber was ist damit gemeint, das steht leider nicht dabei, weiß das jemand?
Gruß
Norbert
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: maxritti am 10 April 2014, 13:20:21
Hallo zusammen,


zufällig habe ich das Post hier gesehen und wollte das doch mal ausprobieren, wie das mit dem umlenken der Logfiles so klappt.

In  meiner Testumgebung habe ich mal mit den Attributen "logfile" und "logdir" rumgespielt. Aber leider landen die Logfiles nicht in dem neuen Verzeichnis.

Global habe ich mal "/tmp/" als Logverzeichnis angegeben. Und ja, der User fhem, unter welchem mein FHEM Server läuft, hat auf das Verzeichnis Rechte und kann u.a. Dateien erstellen.
Dann habe ich von einem Device mal das FileLog gelöscht und neu angelegt, da ja der Hinweis um Raum steht, dass die Änderungen nur bei neuen Definitionen wirkt.

Dann wird das FileLog auch neu erstellt, aber nicht in dem Verzeichnis /tmp/ sondern es verbleibt in /opt/fhem/

Ist das ein Bug oder habe ich hier noch einen Gedankenfehler?


@Norbert

Kannst Du bitte Definitionen und Code usw. in die Code Tags packen?
Damit liest sich das ganze ein wenig leichter.

Bei den beiden Zeilen dürfte es auch klar sein, dass FHEM das nicht mitmacht.

Mit der Ersten definierst Du zwar ein Verzeichnis, wo die Logs liegen sollen, aber bei dem zweiten gibst Du explizit einen Pfad an, wo das Log landen soll.
Ich kenne mich zwar auf der Fritzbox nicht aus, zweifele aber mal an, dass es da ein Verzeichnis /log/ gibt und wenn doch, dass der Benutzer unter dem dein FHEM läuft Zugriff hat.

Zitat von: cocojambo am 08 April 2014, 17:19:05
mache ich es so:
attr global logdir /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/
attr global logfile /log/fhem-%Y-%m.log

stürtzt Fhem ab und ist nur noch nach Neustart der Fritzbox wieder erreicbar.

Definieren sollte man das dann meiner Meinung nach so:
Wobei wie oben beschrieben, dass nicht wirklich so macht, wie ich es erwartet hätte.

attr global logdir /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/
attr global logfile ./fhem-%Y-%m.log
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: cocojambo am 10 April 2014, 14:47:08
@maxritti

Das mit dem /log/ war ein Schreibfehler, entschuldigung, ich hatte es aber auch anders probiert. So sieht es jetzt bei mir aus:

attr global logdir /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/
attr global logfile /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/fhem-%Y-%m.log
attr global logfile ./fhem-%Y-%m.log


geht aber immer noch nicht. Alle Logfiles sind auf dem Stick, aber wenn ich im Frontend Menue auf Logfile klicke bleibt die Anzeige weiterhin leer.
Und da wo in dem Screenshot bei dir Test drin steht, steht zb.bei mir fakelog

DEF    ./log/fhem-%Y-%m.log fakelog
NAME   Logfile
NR   23
NTFY_ORDER   50-Logfile
REGEXP   fakelog
STATE   active
TYPE   FileLog
currentlogfile   ./log/fhem-2014-04.log
logfile   ./log/fhem-%Y-%m.log


Ich hätte gerne einen Screenshot davon angehängt, aber ich habe noch nicht herausgefunden wie ich dem Punkt "Bild einfügen" ein Bild anhängen kann.
Gruß
Norbert



Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: betateilchen am 10 April 2014, 14:52:13
Als erstes solltest Du unterscheiden lernen, dass das interne Logfile etwas anders funktioniert als die von Dir selbst angelegten Logfiles, z.B. für irgendwelche Devices.

Dann musst Du verstehen, was Du hier eigentlich tust:


attr global logfile /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/fhem-%Y-%m.log
attr global logfile ./fhem-%Y-%m.log


im ersten Schritt setzt Du das logfile auf /var/Interner... bla
im zweiten Schritt löscht Du die erste Einstellung indem Du sie mit ./fhem-... bla überschreibst.

Das so definierte Logfile findest Du also im fhem-Hauptverzeichnis, denn dieses wird mit "./" selektiert.
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: maxritti am 10 April 2014, 14:58:22
@Norbert:

Screenshots anhängen geht über "Erweiterte Optionen..." und dort dann eine Datei anhängen.


@betateilchen:

Hast Du eine Idee wo es bei "meinem" Problem klemmt?
Global habe ich ja "/tmp/" als logdir definiert.
Okay, ich sehe ein, dass das allgemeine Fhem log innerhalb von Fhem verbleibt.

Allerdings mein Testlog müsste doch dann nach meinem Verständnis nach "/tmp/" verschwinden oder?
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: betateilchen am 10 April 2014, 15:16:10
Ein Blick in die commandref wirkt manchmal Wunder.

ZitatFHEM also replaces %L by the value of the global logdir attribute.

attr global logfile %L/fhem-%Y-%m.log

%L wird durch den Wert ersetzt, der im globalen Attribut logdir steht.

(http://up.picr.de/17918353wv.png)
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: maxritti am 10 April 2014, 15:24:27
Okay, dem stimme ich zu, dass das %L hilfreich ist und man es hätte da lesen können.

Allerdings scheint es dann ja so zu sein, dass die relativen Pfade nur funktionieren, wenn kein logdir definiert ist.
So rein intuitiv hätte ich nämlich gesagt, ich gebe mir quasi das Root-Verzeichnis mit logdir vor und alles andere geht relativ dazu.

Ist vielleicht in der Doku erwähnenswert.
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: betateilchen am 10 April 2014, 15:28:18
das geht auch. Du darfst nur nicht mit einem Punkt anfangen, denn der Punkt bezeichnet nichts relatives mehr, sondern wird zur Laufzeit aus der Systemumgebung des Rechners ermittelt.

(http://up.picr.de/17918396lu.png)
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: maxritti am 10 April 2014, 15:35:25
Jetzt bin ich gerade ein wenig verwirrt:

Also ich definiere ein globales logdir mit einem Verzeichnis.

Schreibe ich vor den Dateinamen der Logdatei ein %L/ kommt die Logdatei in das definierte Verzeichnis rein.
Das mit dem Punkt davor geht nicht schreibst du.
Schreibe ich ein Slash vor den Logdateinamen, dann bekomme ich ein "Permission denied", weil das augenscheinlich das Root Verzeichnis von meinem Linux ist.
Schreibe ich gar nichts vor den Logdateinamen, so landet die Logdatei in /opt/fhem/"

Nur wie zum Geier bekomme ich die angabe relativ hin damit die in dem logdir landet?
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: betateilchen am 10 April 2014, 15:44:24
das steht doch in meinem Beispiel mit dem letzten Screenshot?

logdir = /tmp

logfile = %L/fhem/....

also landet das Logfile im Verzeichnis /tmp/fhem/

Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: maxritti am 10 April 2014, 15:49:59
Okay, ich tue mich nur ein wenig schwer das %L/ dann als relativ zu bezeichnen.
Nehme das dann mal so hin.

@Norbert:

Also mal sauber Dein logdir definieren, dann die Logfiles Deiner Devices löschen und neu erstellen (per FHEM Web) und bei den Dateinamen das %L/ voranstellen.
Dann sollten die Logs sauber auf Dein USB Stick kommen und auch via Web zugreifbar sein.
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: betateilchen am 10 April 2014, 15:54:09
Zitat von: maxritti am 10 April 2014, 15:49:59
ich tue mich nur ein wenig schwer das %L/ dann als relativ zu bezeichnen

Das hat ausser Dir auch niemand jemals getan oder gar versucht.

Zitat von: maxritti am 10 April 2014, 15:49:59
dann die Logfiles Deiner Devices löschen und neu erstellen

Das ist völlig unnötig. Es sollte reichen, auf das DEF des jeweiligen Logs zu klicken und es neu abzuspeichern.
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: maxritti am 10 April 2014, 16:07:35
Zitat von: betateilchen am 10 April 2014, 15:54:09
Das hat ausser Dir auch niemand jemals getan oder gar versucht.
Du weisst was alle anderen Denken?
Cool  ;)

Zitat von: betateilchen am 10 April 2014, 15:54:09
Das ist völlig unnötig. Es sollte reichen, auf das DEF des jeweiligen Logs zu klicken und es neu abzuspeichern.
Und da zaubert FHEM dann %L/ vor den Dateinamen?
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: betateilchen am 10 April 2014, 16:17:57
Zitat von: maxritti am 10 April 2014, 16:07:35
Du weisst was alle anderen Denken?

Es ging nicht um etwas denken, sondern um etwas zu bezeichnen ;)

Zitat von: maxritti am 10 April 2014, 16:07:35
Und da zaubert FHEM dann %L/ vor den Dateinamen?

Wir reden grade aneinander vorbei - und wir müssen unterscheiden zwischen global und individuell.

Beim currentLogFile wurde bei mir vorhin die neue Definition automatisch angepaßt, nachdem ich das DEF angeklickt und neu gespeichert hatte. Mit individuellen Logfiles habe ich es nicht getestet, da ich hier auf dem Testrechner sowas nicht habe. Logfiles sind sowieso so was von oldfashioned, wer hat denn sowas heute noch, wo es doch Datenbanken gibt?

Achja, die armen Fritzkotz-Nutzer, die keine Datenbank vernünftig auf ihre Plattform bekommen, ich vergaß 8)

Übrigens: Logfiles gehören niemals auf einen USB-Stick (generell nicht auf USB Speichermedien). Aber das nur am Rande, damit nicht in zwei WOchen jemand hier rumheult "Meine Logdateien auf dem USB Stick sind defekt/verschwunden/korrupt/unbrauchbar". Ihr seid hiermit gewarnt!
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: cocojambo am 10 April 2014, 16:32:01
Ich habe wie ihr hier empfohlen habt folgendes in die fhem.cfg

attr global logdir /var/InternerSpeicher/Medion-USBFlashDrive-01/fhem/log/
attr global logfile %L/fhem-%Y-%m.log


Dann die alten Log Dateien gelöscht und shutdown restart eingegeben.
Dann crashed Fhem und ist über den IP Port 8083 nicht mehr erreichbar. Nur über FTP kam ich noch ran und habe dann vor alle global logfile Zeilen ein"#"eingestellt und neugestartet. Beim 2.Versuch wieder das Selbe. Habe ich da was falsch verstanden?

Wegen USB und Log Dateien:
Ich möchte die Dateien auf USB speichern, weil die Log Dateien des Solarlogs und der des Global Logs nach Wochen zu groß werden, wenn ich nicht daran denke diese regelmäßig manuell zu löschen (z.B. immer nach 2-3 Monaten alle älteren löschen).

Gruß
Norbert
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: betateilchen am 10 April 2014, 18:59:53
da hast Du aber irgendwas anderes auf Deinem System zerschossen.

Und für das automatische Löschen der alten Logs gibts das globale Attribut nrarchive
Titel: Antw:In der pgm2 Frontend Ansicht den Pfad zur Logdatei anpassen.
Beitrag von: maxritti am 10 April 2014, 19:35:26
Zitat von: betateilchen am 10 April 2014, 16:17:57
Wir reden grade aneinander vorbei - und wir müssen unterscheiden zwischen global und individuell.

Beim currentLogFile wurde bei mir vorhin die neue Definition automatisch angepaßt, nachdem ich das DEF angeklickt und neu gespeichert hatte. Mit individuellen Logfiles habe ich es nicht getestet, da ich hier auf dem Testrechner sowas nicht habe. Logfiles sind sowieso so was von oldfashioned, wer hat denn sowas heute noch, wo es doch Datenbanken gibt?

Achja, die armen Fritzkotz-Nutzer, die keine Datenbank vernünftig auf ihre Plattform bekommen, ich vergaß 8)

Übrigens: Logfiles gehören niemals auf einen USB-Stick (generell nicht auf USB Speichermedien). Aber das nur am Rande, damit nicht in zwei WOchen jemand hier rumheult "Meine Logdateien auf dem USB Stick sind defekt/verschwunden/korrupt/unbrauchbar". Ihr seid hiermit gewarnt!
Okay, das ist dann jetzt geklärt.

Es ist ja schon öfter erwähnt worden, dass die FBen nicht so der Brüller für Fhem sind.
Und meine Logs lauf schon lange in eine DB.

btw:

Die Tage werde ich auch meine Config auf DB umstellen.  :)
Mal in der Entwicklung starten, bevor ich auf die prod. Umgebung losmarschiere.