AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Log-Klasse/Komponente mit TCP-Schnittstelle sinnvoll?
Thema durchsuchen
Ansicht
Themen-Optionen

Log-Klasse/Komponente mit TCP-Schnittstelle sinnvoll?

Ein Thema von s.h.a.r.k · begonnen am 23. Jan 2011 · letzter Beitrag vom 24. Jan 2011
 
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Log-Klasse/Komponente mit TCP-Schnittstelle sinnvoll?

  Alt 23. Jan 2011, 18:59
Ich habe den Threadtitel bewusst als Frage definiert, da ich hier eine Diskussion über folgende Idee starten will: ich habe in letzter Zeit mal meine Log-Komponente überarbeitet und über die möglichen Schnittstellen nachgedacht. Bisher hatte ich eine Klasse, die nach dem Singleton-Pattern gebaut war, also global verfügbar. Über eine Methode (entweder eine globale Methode oder eine Klassen-statische Methode) kann man einen Log schreiben. Diese verteilte diese Log-Message auf mehrere Module (erkläre ich gleich, was ich hierunter verstehe) und somit wird der Log "geschrieben".

Was ist nun ein Modul: ein Modul ist eine Klasse, die sich bei der Log-Komponente anmeldet und abmelden kann. Ein Modul kapselt ein bestimmtes Ziel, wie z.B. eine Datei. Ich habe bisher folgende Log-Module: Datei-Modul, ListBox-/Memo-/ListView-Modul, Datenbank-Modul. Somit ist es sehr einfach ein weiteres Modul, d.h. Ziel der Log-Messages, hinzuzufügen, ohne den Kern der Log-Komponente ändern zu müssen.

Nun hatte ich die Idee, die Schnittstelle zwischen der Kern-Log-Klasse und den Modulen via TCP(/IP) zu managen. Mir ist die erhöhte Komplexität (und die weitere Schicht) sehr wohl bewusst, würde aber auch gerne mal eure Meinung dies bzgl hören, ob es überhaupt sinnvoll sein kann. Natürlich wäre es hier auch gut zu wissen, wie und was ihr (im weitesten Sinne) loggt? Nutzt ihr das Loggen von Meldung nur zu Debug-Zwecken, oder auch für weitere Dinge? Evtl. auch für den User sichtbar (und nützlich)?

Warum mir diese Netzwerk-Schicht eingefallen ist:
  • Auf Basis eines geeigenten Protokolls kann man ohne Probleme Kern und Module unabhängig voneinander weiterentwickeln. (war bisher aber auch schon gegeben)
  • Server (Log-Kern) und Client (Module) können in unterschiedlichen Anwendungen und auch auf unterschiedlichen Rechnern liegen. Natürlich funktioniert die Kommunikation innerhalb der selben Anwendung.
  • Weiteführende Idee: Programmierer startet Log-Client auf seinem Rechner und verbindet sich mit entferntem Programm, um eine Problemanalyse zu starten. Nutzer klickt sich durch die Anwendung und Programmierer sieht auf seinem Screen die Log-Meldungen und somit evtl. das Problem. Es müssen keinerlei Log-Dateien mehr verschickt werden.
  • Man kann so auch einen einfachen Log-Server einrichten, der dann komplett unabhängig vom Programm und dem darunter liegenden Rechner ist.

Vielleicht ist die Idee ja auch nur bei den Haaren herbeigezogen, aber vielleicht kann sowas ja auch mal nützlich sein. Lasst mich mal wissen, was ihr so darüber denkt!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz