[Geloest] Slash am Ende des Attributes global logdir

Begonnen von helmut, 28 Juli 2018, 21:23:04

Vorheriges Thema - Nächstes Thema

helmut

Als zweifellos fauler Tutnixer habe ich auf eine Frage nach der Arbeitsweise des logdir Attributs im Forum einen Slash am
Ende des Attributwertes empfohlen um bei der logfile- und den FileLog-Definitionen Schreibarbeit zu sparen, also so:
attr global logdir mein-test-logdir/
attr global logfile %Lfhem-%Y-%m.log
defmod fl_test FileLog %Ltest.log test:.*

Das klappt auch soweit, aber der Fragende machte mich auf die falsche Anzeige im Web-Interface, die auch den Zugriff
ueber dieses verhindert, aufmerksam. Da wird in 01_FHEMWEB.pm im sub FW_fileList $fname zuerst am letzten Slash
zerlegt um dann im (vermeintlichen) Pfad) gegebenenfalls das %L durch den logdir-Wert zu ersetzen - was mangels
Slash natuerlich schiefgeht.

Wenn ich die commandref richtig interpretiere, ist das falsch:
ZitatIf set, the %L attribute in the logfile attribute (or in the FileLog modules file definition) is replaced wth the value of the attribute.
Das schliesst meines Erachtens nach den Slash am Ende ein.

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

rudolfkoenig


helmut

Vielen Dank fuer die schnelle Reaktion, Rudi.

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

betateilchen

Schade, dass Rudi inzwischen jeden Unfug umsetzt...

Das Attribut heißt logdir und bezeichnet somit den Namen eines Unterverzeichnisses. Ein abschließendes / am Ende ist deshalb syntaktisch komplett falsch, weil der slash nicht Bestandteil des Namens ist.

Hieße das Attribut stattdessen logPath wäre die Änderung korrekt, denn bei einer Pfadangabe kann ein slash tatsächlich dazugehören.

Leider ein weiterer Schritt, FHEM noch unlogischer und für Anfänger noch komplizierter zu machen, als es an vielen Stellen ohnehin schon ist  :(
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Diese Aenderung sollte keinen beissen, ich habe nur die Reihenfolge von 3 Zeilen umgetauscht.