Umstellung auf DBLog - Weiterhin Einträge in Log File

Begonnen von TottiToad, 10 Oktober 2017, 12:15:00

Vorheriges Thema - Nächstes Thema

TottiToad

Hallo zusammen,

Ich beschäftige mich jetzt seit Monaten mit FHEM und habe bereits FHEM auf einem Pi3 am laufen und alles mögliche ausprobiert, eingefügt etc ...

Ich bin jetzt gerade dabei FHEM auf einem NUC neu einzurichten und von Beginn an "sauber" zu arbeiten. (Debian9 als Grundsystem)

Gestern habe ich versucht auf DBLog umstellen, das funktioniert soweit auch gut.
Logeinträge werden in die SQL Datenbank (MariaDB) geschrieben etc.

Jedoch tauchen weiterhin Einträge in der Logfile auf, welche nicht in die SQL Datenbank geschrieben werden ?
Hier ein Beispiel der Logeinträge nach einem Neustart:


2017.10.10 11:36:11 1: Including fhem.cfg
2017.10.10 11:36:11 3: telnetPort: port 7072 opened
2017.10.10 11:36:11 3: WEB: port 8083 opened
2017.10.10 11:36:11 3: WEBphone: port 8084 opened
2017.10.10 11:36:11 3: WEBtablet: port 8085 opened
2017.10.10 11:36:11 2: eventTypes: loaded 586 events from ./log/eventTypes.txt
2017.10.10 11:36:11 3: TankstelleBFT: Defined with URL http://www.clever-tanken.de/tankstelle_details/36476 and interval 600
2017.10.10 11:36:11 3: TankstelleShell: Defined with URL http://www.clever-tanken.de/tankstelle_details/37247 and interval 600
2017.10.10 11:36:11 3: TankstelleJet: Defined with URL http://www.clever-tanken.de/tankstelle_details/115536 and interval 600
2017.10.10 11:36:12 3: TelegramBot_Define teleBot: called
2017.10.10 11:36:12 3: DbLog DBLogging: Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user XXXXXXX
2017.10.10 11:36:12 3: DbLog DBLogging: Push-Handle to db mysql:database=fhem;host=localhost;port=3306 created
2017.10.10 11:36:12 3: DbLog DBLogging: UTF8 support enabled
2017.10.10 11:36:12 1: Including ./log/fhem.save
2017.10.10 11:36:12 1: usb create starting
2017.10.10 11:36:12 3: Probing CUL device /dev/ttyS0
2017.10.10 11:36:12 1: PERL WARNING: can't getattr: Input/output error at ./FHEM/DevIo.pm line 394.
2017.10.10 11:36:12 3: Can't open /dev/ttyS0: Input/output error
2017.10.10 11:36:12 3: Probing CUL device /dev/ttyS1
2017.10.10 11:36:12 3: Can't open /dev/ttyS1: Input/output error
2017.10.10 11:36:12 3: Probing CUL device /dev/ttyS2
2017.10.10 11:36:12 3: Can't open /dev/ttyS2: Input/output error
2017.10.10 11:36:12 3: Probing CUL device /dev/ttyS3
2017.10.10 11:36:12 3: Can't open /dev/ttyS3: Input/output error
2017.10.10 11:36:12 1: usb create end
2017.10.10 11:36:12 0: Featurelevel: 5.8
2017.10.10 11:36:12 0: Server started with 39 defined entities (fhem.pl:15182/2017-10-03 perl:5.024001 os:linux user:fhem pid:5515)
2017.10.10 11:36:14 3: ABFALL Muelltonnen - CALENDAR:Muelltonnen_Kalender triggered, updating ABFALL Muelltonnen ...
2017.10.10 11:36:14 1: PERL WARNING: Use of uninitialized value $msg in concatenation (.) or string at ./FHEM/99_SpritalarmUtils.pm line 118.
2017.10.10 11:36:14 1: PERL WARNING: Use of uninitialized value $msg1 in concatenation (.) or string at ./FHEM/99_SpritalarmUtils.pm line 118.
2017.10.10 11:36:14 1: PERL WARNING: Use of uninitialized value $msg2 in concatenation (.) or string at ./FHEM/99_SpritalarmUtils.pm line 118.
2017.10.10 11:36:14 1: PERL WARNING: Use of uninitialized value $msg3 in concatenation (.) or string at ./FHEM/99_SpritalarmUtils.pm line 118.
2017.10.10 11:36:14 3: set teleBot message @@XXXXXXXXX  : TelegramBot_Set: Command message, no msg content specified
2017.10.10 11:36:14 3: 1_notifyKraftstoff return value: TelegramBot_Set: Command message, no msg content specified
2017.10.10 11:46:14 3: set teleBot message @@XXXXXXXXX  : TelegramBot_Set: Command message, no msg content specified
2017.10.10 11:46:14 3: 1_notifyKraftstoff return value: TelegramBot_Set: Command message, no msg content specified
2017.10.10 11:51:12 3: DbLog DBLogging: Reopen requested.
2017.10.10 11:51:12 3: DbLog DBLogging: Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user XXXXXX
2017.10.10 11:51:12 3: DbLog DBLogging: Push-Handle to db mysql:database=fhem;host=localhost;port=3306 created
2017.10.10 11:51:12 3: DbLog DBLogging: UTF8 support enabled
2017.10.10 11:51:12 3: DBLogging_Reopen: Reopen executed.
2017.10.10 11:56:15 3: set teleBot message @@XXXXXXXXX  : TelegramBot_Set: Command message, no msg content specified
2017.10.10 11:56:15 3: 1_notifyKraftstoff return value: TelegramBot_Set: Command message, no msg content specified
2017.10.10 12:06:12 3: DbLog DBLogging: Reopen requested.
2017.10.10 12:06:12 3: DbLog DBLogging: Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user XXXXXXX
2017.10.10 12:06:12 3: DbLog DBLogging: Push-Handle to db mysql:database=fhem;host=localhost;port=3306 created
2017.10.10 12:06:12 3: DbLog DBLogging: UTF8 support enabled
2017.10.10 12:06:12 3: DBLogging_Reopen: Reopen executed.
2017.10.10 12:06:14 3: set teleBot message @@FHEM_SweetHome  : TelegramBot_Set: Command message, no msg content specified
2017.10.10 12:06:14 3: 1_notifyKraftstoff return value: TelegramBot_Set: Command message, no msg content specified


Müssten diese Einträge nicht auch eigentlich in der SQL DB gelogged werden ?

Muss ich evtl. etwas bei den Global Einstellungen ändern ?

Dort habe ich bisher nichts geändert. Somit ist bei logfile weiterhin ./log/fhem-%Y-%m.log eingetragen.


Ich hoffe ihr könnt mir weiterhelfen

Grüße & Danke vorab
Totti

Amenophis86

Es wird zwischen dem globalen Log und DBLog/Logfiles unterschieden. Dies ist auch gut so. Das normale Log solltest du weiterhin so belassen um Fehler zu finden. Geht zB die DB nicht mehr, dann bekommst du auch keine FHEM Fehler angezeigt und das willst du ja nicht, oder?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

TottiToad

Dank Dir für die Info !

Das zwischen globalen Log und DBLog unterscheiden wird, wusste ich bisher nicht. (Wird leider so auch nicht in der Wiki und bei DBLog erwähnt)

Aber du hast vollkommen recht, das ist auch gut so um Fehler zu finden falls DB z.B. nicht geht.

Wollte halt nur für mich wissen das, dass auch alles so richtig ist.

Gibt es denn eine Möglichkeit die logs aus dem globalen Log zusätzlich noch ins DBLog zu schieben ?
Würde es teilweise einfach machen evtl. nach Fehlern etc zu suchen. (Nutze für das auslesen Sequel Pro, was wirklich alles sehr gut durchsuchbar macht)

Und noch eine Frage, habe jetzt häufiger gelesen, dass obwohl DBLog genutzt wird für einzelne Devices trotzdem noch zusätzlich eine logFile angelegt wurde.
Macht dies sinn ? Warum wird dies zum Teil gemacht ?

Grüße & Danke
Totti


Amenophis86

Fangen wir hinten an:
DBLog und Filelog macht in meinen Augen überhaupt keinen Sinn, außer jemand vertraut der DB nicht und will unbedingt ein Backup haben.

Ja, es gibt die Möglichkeit auch das Logfile in die DB zu hauen, allerdings weiß ich sie gerade nicht mehr auswendig. Musst du mal im Forum suchen.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

DS_Starter

Hallo zusammen,

will versuchen die Verwirrung nicht noch zu vermehren  ;)

Grundsätzlich speichert DbLog die EVENTS des Systems, also all das was ihr auch im Eventmonitor seht. Dafür sind die Tabellen in der Datenbank so aufgebaut dass diese Informationen gespeichert werden können.

Die Informationen im Systemlog sind keine Events sondern werden vom Modulentwickler mit den entspr. verbose-Leveln extra hineingeschrieben.

Diese Informationen können Stand heute nicht in DbLog gespeichert werden, man kann sie aber an einen Syslog-Server weiterleiten (Modul Log2Syslog).

Hoffe das die Unterschiede im Logging etwas deutlicher geworden ist.

VG
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Icinger

ZitatUnd noch eine Frage, habe jetzt häufiger gelesen, dass obwohl DBLog genutzt wird für einzelne Devices trotzdem noch zusätzlich eine logFile angelegt wurde.

Ich denke mal, du meinst, dass manche Leute nicht alles in die DB loggen, sondern teils-teils.

Das mache ich genauso, in die Datenbank kommen eigentlich nur Dinge, die ich auch längerfristig verwenden will.
Daten, die mich grade mal für zB die letzten 24 Stunden oder so interessieren, lasse ich auch in Files loggen.
Genauso Daten, die ich nur zum testen verwende für kurzfristige Plots, die - sobald ich mir sicher bin, dass alles passt - wieder komplett aus dem System entfernt werden.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Frank_Huber

eventuell kommt das Doppel-Logging ja auch per Auto-create.
Ich habe auch alles in einer dblog, Aber viele Geräte die per Autocreate kamen machen automatisch ein logfile device auf.

maci

Ich habe viele Logdaten in der Datenbank (mysql).
Habe jedoch den Eindruck, dass das Erstellen von Grafiken länger dauert, als vom Dateilog.

Das fhem Log habe ich immer in der Datei.

Bin derzeit am Überlegen wieder zurückzugehen. Der Grund ist, dass beim Erstellen einiger Plots  Fehler im FhemLog auftauchen.
Die Meldungen sind:
ZitatDefining DbLog SVG-Plots with :CURRENT is deprecated. Please define DbLog SVG-Plots with :HISTORY instead of :CURRENT. (define <mySVG> SVG <DbLogDev>:<gplotfile>:HISTORY)
Die Plots wo das auftritt werden immer mehr, obwohl ich bei keinem einzigem Plot CURRENT verwendet habe.
Als Lösung habe ich bis jetzt nur, die gesamte Plot Konfiguration zu löschen und neu zu erstellen.
Auch wenn der Inhalt total gleich ist, geht es dann wieder.
Ursache liegt im Dunklem verborgen.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan