Log3: Namen des Moduls zur Analyse ausgeben

Begonnen von karl0123, 21 Oktober 2015, 15:02:54

Vorheriges Thema - Nächstes Thema

karl0123

Da an die sub Log3 ohnehin der Name oder hash des Moduls übergeben wird, wäre es schön, wenn dieser jeweils auch beim Logeintrag auftauchen würde.

Oft fragt man sich, welches Device und Modul gerade diesen Logeintrag veursacht hat. Sicher kommt man dem evtl. auch mit Stacktrace auf die Spur, für die sofortige Behebung von Fehlern wäre jedoch die Angabe des Devicenamens sinnvoll, da man sonst auf den nächsten Eintrag warten muss. Da der Name ohnehin vorhanden ist, sollte der Einbau ja kein Problem sein.

rapster

Das ist momentan dem modul-author überlassen und das finde ich auch ganz gut so.

Es gibt Module die geben den Namen bei allen Meldungen mit aus, bei anderen Modulen nur bei manchen Meldungen, bei anderen Modulen nur den TYPE, bei anderen Modulen nichts dergleichen.

Denke wenn Meldungen eines Modules nicht gefallen, am besten diesen Wunsch direkt an den entsprechenden Maintainern richten.

karl0123

Das sehe ich anders. Und das genau wegen des "nichts dergleichen". Beispiel: Ich habe in meinem Log immer Calendar get Einträge der Stufe 3, obwohl das entsprechende Calendar Device verbose auf 0 stehen hat. Da im Log kein Name angegeben ist und auch StackTrace hier nicht weiter hilft, weiß ich nicht, wo diese Meldungen her kommen. Aus dem Calendar Modul kommen sie jedenfalls nicht. Ich wüsste nicht einmal, welchen Modulautor ich hier ansprechen soll. Auch bei Homematic ist das oft sehr schlecht, da man hin und wieder nur weiß, dass die Meldung durch CUL_HM generiert wurde.

Ich denke, dass es besser wäre, wenn man in den Log Zeilen sehen könnte, woher der Eintrag kommt. Sowas ist immer am einfachsten zentral zu lösen. Logs sollten einem Standard entsprechen und nicht nach "mal so mal so" funktionieren.

rapster

Bei manchen Modulen wie z.B. Homematic welche zweistufig sind, macht es allerdings manchmal auch keinen Sinn ein device-name zu loggen, da die Meldung nicht von einem device generiert wird, sondern vom Modul selber.

Da du allerdings weisst  dass dich Meldungen von "Calendar" und "CUL_HM" stören, dann schau in die http://fhem.de/MAINTAINER.txt rein, und sprech den entsprechenen Maintainer auf deinen Wunsch hin an.
Wenn das Calendar Modul auf Verbose 0 Logmeldungen auf Loglevel 3 schreibt, läuft hier etwas falsch z.B. wird "Log 3" statt "Log3" verwendet.

In den meisten Fällen (natürlich auch mit einigen Ausnahmen) machen sich die Modul-Entwickler schon Gedanken darüber wie Ihre Log-Meldungen aussehen sollen, wo, was, welches loglevel, und wie oft etwas geloggt wird ist ebenso dem Modul-Author überlassen

Allerdings geb ich dir schon recht, bei "nichts dergleichen" wäre deine Idee schon hilfreich...

karl0123

Ich habe doch schon geschrieben, dass die Meldungen nicht aus dem Calendar-Modul kommen und es keinen Anhaltspunkt gibt, wen man ansprechen kann.  Ich kann Perl Code lesen und sogar schreiben ;) Wenn ich mich wirklich intensiv damit beschäftigen würde, würde ich auch heraus finden, wo das her kommt (ich habe HttpUtils oder ähnliches im Verdacht), aber genau daraus resultiert mein Wunsch: Ich habe weder Zeit noch die Muße dazu.

Es macht auch keinen Sinn, einzelne Modulautoren anzusprechen, wenn es zentral viel leichter und nachhaltiger zu lösen wäre.

Bei einigen Sachen wäre es einfach hilfreich, den Namen des Moduls aus dem sie kommen zu kennen und wenn es geht, auch das Device selbst. Zentral ist und bleibt sowas am besten aufgehoben, das kann man nicht weg diskutieren. Auch eine einheitliche Log-Methodik wäre hilfreich. Mir ist dabei bewusst, dass es nicht immer eine eindeutige Zuordnung zu einem Device gibt. Das ändert aber nichts an der Tatsache, dass es möglich wäre, es für alle anderen zu vereinheitlichen.

Das hier ist die Wunschliste und mein Wunsch ist legitim. Das heißt nicht, dass er umgesetzt wird, er sollte aber auch nicht mit eigentlich haltlosen Argumenten wegdiskutiert werden.