FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: linuxpaul am 14 März 2018, 22:26:51

Titel: FEHM Logfile Standard Einstellungen?
Beitrag von: linuxpaul am 14 März 2018, 22:26:51
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
Titel: Antw:FEHM Logfile Standard Einstellungen?
Beitrag von: Pfriemler am 14 März 2018, 23:37:37
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.
Titel: Antw:FEHM Logfile Standard Einstellungen?
Beitrag von: linuxpaul am 15 März 2018, 20:52:37
Hi, Vielen Dank für die Antwort.

Global hat ein verbose attribut, sonst ist default keines gesetzt, oder?
Welche RegExpParts hat Logfile?

:)
linuxpaul
Titel: Antw:FEHM Logfile Standard Einstellungen?
Beitrag von: betateilchen am 15 März 2018, 21:13:23
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.
Titel: Antw:FEHM Logfile Standard Einstellungen?
Beitrag von: Pfriemler am 15 März 2018, 21:14:52
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

Titel: Antw:FEHM Logfile Standard Einstellungen?
Beitrag von: linuxpaul am 17 März 2018, 16:09:59
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