Hi,
mit Themen wie "Homematic Pakete sniffen" usw. habe ich mit den Log Einstellungen
experimentiert und nun finde ich nicht mehr zum ursprünglichen Setup zurück.
Die Device Log schaun gut aus, nur das Logfile eben nicht.
Welche Einstellungen hat FHEM nach der Installation?
:)
linuxpaul
Ich schalte Sniffen mit
{fhem("attr global verbose 1");
fhem("attr global mseclog 1");
fhem("attr HMLAN1 logIDs all,sys");
Log 1,"HM-Logging gestartet ...";
}
ein und mit
{
fhem("attr global verbose 3");
fhem("deleteattr global mseclog");
fhem("deleteattr HMLAN1 logIDs");
Log 1,"... HM-Logging beendet";
}
wieder aus. Dafür habe ich je eine Sub in 99_myUtils.
Hi, Vielen Dank für die Antwort.
Global hat ein verbose attribut, sonst ist default keines gesetzt, oder?
Welche RegExpParts hat Logfile?
:)
linuxpaul
Zitat von: linuxpaul am 15 März 2018, 20:52:37
Global hat ein verbose attribut, sonst ist default keines gesetzt, oder?
defaultwert = 3
Zitat von: linuxpaul am 15 März 2018, 20:52:37
Welche RegExpParts hat Logfile?
keine. Logfile ist als "fakelog" definiert, das ist ein Spezialfall in FHEM.
Ich glaube, das default für global liegt bei 3.
Im Logfile (also dem in attr global logfile ... definierten zentralen FHEM-Log) landen alle Mitteilungen, die von allen in perl programmierten Bestandteilen mit {Log y, $logtext} abgesetzt werden, es gibt also kein Regex. Die einzige Beeinflussung ist der LogLevel y: alle Loglevel bis einschließlich "attr global verbose x" (also y <= x) erscheinen dann im Logfile. Viele Modulautoren bauen im Code Debugmeldungen mit "Log 4," oder "Log 5," ein, die man nur zu sehen bekommt, wenn man global verbose entsprechend setzt.
Nachtrag: Wenn man das Logfile in FHEM sichtbar machen will, erstellt man eine eigene Def mit dem Regex "fakelog", wie betateilchen sagt. Bei mir:
defmod Logfile FileLog ./log/fhem-%Y-%m.log fakelog
attr Logfile comment Globales Logfile wird in FHEM per "attr global logfile ./log/fhem-%Y-%m.log" definiert. Diese Pseudo-Definition macht das Logfile in der Weboberfläche sichtbar. RegExp "fakelog" ist erforderlich!
attr global logfile ./log/fhem-%Y-%m.log
Hm, irgendwie schreibt bei mir kein Device mehr ins global Log.
globals:
Internals:
DEF no definition
NAME global
NR 1
STATE no definition
TYPE Global
currentlogfile ./log/fhem-2018-03.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
autosave 0
configfile fhem.cfg
exclude_from_update 23_LUXTRONIK2.pm
latitude 49.8531569
logfile ./log/fhem-%Y-%m.log
longitude 11.9282057
modpath .
room Config
statefile ./log/fhem.save
updateInBackground 1
userattr cmdIcon devStateIcon devStateStyle genericDeviceType:switch,outlet,light,blind,speaker,thermostat homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride
verbose 3
version fhem.pl:16354/2018-03-09
Logfile:
Internals:
DEF ./log/fhem-%Y-%m.log fakelog
NAME Logfile
NR 19
NTFY_ORDER 50-Logfile
REGEXP fakelog
STATE active
TYPE FileLog
currentlogfile ./log/fhem-2018-03.log
logfile ./log/fhem-%Y-%m.log
READINGS:
2018-03-17 14:20:17 linesInTheFile 0
Attributes:
logtype text
room HM_Log
:)
linuxpaul