Hallo miteinander,
aus gegebenem Anlass würde ich gern darüber diskutieren, ob wir eine Art Konvention für das Naming der Logdateien der LBS einführen sollten. Anlass dazu ist für mich die Verwendung von Spaces in den Dateinamen der Logs, wie das in den Bausteinen von jonofe der Fall ist. Grundsätzlich ist das Leerzeichen in Dateinamen unter Linux ja kein Problem, nur sollte man es dennoch so gut es geht vermeiden. Ich habe bspw. beim escapen in URLs ("%20") schon die schrägsten Dinge erlebt...
Mein Vorschlag wäre eine Erweiterung der Funktion writeToCustomLog(...), welche den ersten Parameter als Ergänzung zum Dateinamen des Logs verwendet und somit auch leer gelassen werden kann. Den Namen des Logfiles generiert die Funktion jedoch selbst und entfernt dabei selbständig Spaces aus dem ersten Parameter der Funktion. Damit entsteht ein Dateiname in der Art
und der Aufruf von
aus dem Baustein 19004711 mit der ID 42 führt zu einem Logfile mit dem Namen LBS19004711_42_foo.log. Damit wären die Logs vernünftig sortierbar und einheitlich. Gerade dann, wenn man mehrere/viele Bausteine eines Typs hat, macht sich das bezahlt.
Das Dumme dabei ist aber, dass die Funktion writeToCustomLog(...) nicht weiss, aus welchem LBS heraus sie aufgerufen wurde bzw. wird es wohl doch recht Performance kosten, das via debug_backtrace() jeweils zu ermitteln.
Von daher wäre es wirklich eine Konvention und Bitte an alle LBS-Entwickler, sich hier auf eine Konvention zu einigen, diese in die Edomi-Doku einfliesen zu lassen und sie dann natürlich auch zu verwenden. Nach obigem Vorschlag wäre der Aufruf dann also wie folgt:
Was meint ihr dazu?
Kind regards,
Yves
aus gegebenem Anlass würde ich gern darüber diskutieren, ob wir eine Art Konvention für das Naming der Logdateien der LBS einführen sollten. Anlass dazu ist für mich die Verwendung von Spaces in den Dateinamen der Logs, wie das in den Bausteinen von jonofe der Fall ist. Grundsätzlich ist das Leerzeichen in Dateinamen unter Linux ja kein Problem, nur sollte man es dennoch so gut es geht vermeiden. Ich habe bspw. beim escapen in URLs ("%20") schon die schrägsten Dinge erlebt...
Mein Vorschlag wäre eine Erweiterung der Funktion writeToCustomLog(...), welche den ersten Parameter als Ergänzung zum Dateinamen des Logs verwendet und somit auch leer gelassen werden kann. Den Namen des Logfiles generiert die Funktion jedoch selbst und entfernt dabei selbständig Spaces aus dem ersten Parameter der Funktion. Damit entsteht ein Dateiname in der Art
Code:
[I]<LBS-ID>_<Baustein-ID>[_<1st-parameter>[/I]]
Code:
writeToCustomLog("foo", 0, "some text...");
Das Dumme dabei ist aber, dass die Funktion writeToCustomLog(...) nicht weiss, aus welchem LBS heraus sie aufgerufen wurde bzw. wird es wohl doch recht Performance kosten, das via debug_backtrace() jeweils zu ermitteln.
Von daher wäre es wirklich eine Konvention und Bitte an alle LBS-Entwickler, sich hier auf eine Konvention zu einigen, diese in die Edomi-Doku einfliesen zu lassen und sie dann natürlich auch zu verwenden. Nach obigem Vorschlag wäre der Aufruf dann also wie folgt:
Code:
writeToCustomLog("LBSLBSID_${id}", ...
Kind regards,
Yves
Kommentar