Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Redundanzen in Logfiles vermeidbar? (https://www.delphipraxis.net/205914-redundanzen-logfiles-vermeidbar.html)

BaumiPAN 30. Okt 2020 07:40

Redundanzen in Logfiles vermeidbar?
 
Hallo Delphi-PRAXiS,

wir haben in unserer Delphi-VCL-Anwendung einen Logging implementiert, welches mit Kibana (bzw. ELK-Stack) ausgewertet wird. Die Logdateien werden im log4j JSON-Format geschrieben. Damit wir die Logeinträge auf bestimmte Programmversionen einschränken können, wird aktuell in jede Logging-Zeile die Programmversion geschrieben. Da diese nun ggf. nicht mehr präzisie genug ist, kommt vermutlich nun auch noch die SVN-Revision dazu. Muss für eine Auswertung mit Kibana so etwas in jeder Zeile stehen? Wenn man das nur beim ersten Logeintrag des Programmstarts macht, könnte man das dann auch anhand des gleiche hosts zuordnen?

Zudem würde mich interessieren was ihr so für Loggingformate verwendet. Habt ihr gute Erfahrungen mit log4j gemacht? Wir wollen es neben der Fehleranalyse hauptsächlich für eine anonyme Nutzungsauswertung verwenden (Welche Funktion wird wie oft tatsächlich genutzt?).

MfG
Baumi aus PAN

PS: Sollte der Bereich im Forum nicht passen, dann bitte korrigieren. Ich hab als Neuling im Forum nichts passenderes gefunden.

himitsu 30. Okt 2020 09:39

AW: Redundanzen in Logfiles vermeidbar?
 
Unabhängig ob es noch was Anderes gibt, also egal welches Loggingsystem:
Du kannst bei Programmstart einen Logeintrag machen, wo die Versionsinfos drin stehen. (bei uns schreib ich da auch noch bissl was mehr mit rein: Programmversion, ExePfad+Parameter, ProcessID, Computername, Username, IP usw.)
Der Eintrag bekommt eine kurze ID und alle nachfolgenden Logeinträge beginnen dann mit der selben ID und schon kannst du es ja zuordnen. (zum jeweils vorherrigen Logeintrag mit dieser ID und den Infos ... später nochmal neu gestartet kann die ID zwar nochmal vorkommen, aber natürlich nie gleichzeitig)

Wenn in die Logdatei nur ein Programm Computer reinschreiben kann, dann würde z.B. die ProcessID reichen.
Da unser Programm auf einem NetShare liegt, kommt als Hash noch der Computername mit in diese ID rein.




Nja, schlimme Fehler loggt Eurekalog in eine eigene Datei ... ansonsten gibt es hier nur noch was "selbstgemachtes" in einer/mehreren Textdatei(en) :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz