Hauptmenü

Log einer myUtils-Funktion

Begonnen von Nobby1805, 24 November 2020, 16:39:44

Vorheriges Thema - Nächstes Thema

Nobby1805

Hallo,
ich rufe für ein UserReading eine Funktion auf, die in myUtils definiert ist.
In dieser Funktion werden mit Log 4,... in bestimmten Situationen Meldungen ausgegeben.

Feste: wo kann/muss ich Verbose auf 4 setzen um diese Meldungen zu sehen? Wenn ich das bei dem Device mache, wo das UserReading definiert ist klappt es leider nicht :(

Viele Grüße Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wzut

Tipp : Nimm Log3 statt dem alten Log
Log3('NAME_des_dev' , 4 , 'Meine Meldung');
Wenn Name_des_dev mindestens verbose 4 hat erscheint die Meldung im Log.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

betateilchen

#3
Schlimm genug, dass die uralte Log Funktion immer noch dokumentiert und dort nichtmal ein entsprechender Hinweis auf ihre Altertümlichkeit (die Umstellung war im August 2013) vorhanden ist.




Aber um trotzdem die eingangs gestellte Frage noch zu beantworten:

Zitat von: Nobby1805 am 24 November 2020, 16:39:44
wo kann/muss ich Verbose auf 4 setzen um diese Meldungen zu sehen? Wenn ich das bei dem Device mache, wo das UserReading definiert ist klappt es leider nicht

Bei Verwendung von Log() musst Du das verbose im device "global" ändern.

--
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Nobby1805

Zitat von: betateilchen am 24 November 2020, 17:09:28
Aber um trotzdem die eingangs gestellte Frage noch zu beantworten:

Bei Verwendung von Log() musst Du das verbose im device "global" ändern.
Das war mein 2. Versuch nachdem Verbose beim Device, da die Subrune im useReading verwendet,  keine Wirkung hatte, da wurde aber auch nichts ausgegeben :(

Ich stelle die Subroutine jetzt mal auf Log3 um
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

betateilchen

Zitat von: Nobby1805 am 24 November 2020, 17:23:12
Das war mein 2. Versuch ... da wurde aber auch nichts ausgegeben

gerade getestet, bei mir funktioniert das.

In der 99_myUtils.pm steht


sub log_test {
   Log 4, "Log im Level 4";
}


im global steht das Attribut verbose auf 4

attr global verbose 4

Wenn ich die Funktion log_test aufrufe, steht anschließend im Log

2020.11.24 17:47:01 4: Log im Level 4
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Nobby1805

#6
So, funktioniert jetzt  :) Danke für alle Hinweise

Gruß Nobby

PS @betateilchen: ja stimmt, nachdem ich Verbose bei global auf 5 gesetzt habe kam schlagartig so viel (Schrott) raus, dass ich die erwartete Meldung übersehen habe
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)