AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Trace/Logger Klasse

Ein Thema von Jazzman_Marburg · begonnen am 10. Jan 2013 · letzter Beitrag vom 11. Jan 2013
Antwort Antwort
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

Trace/Logger Klasse

  Alt 10. Jan 2013, 20:09
Hallo Gemeinde.
Ich würde gern ein Tracing in meinem Programm haben: D.h. wenn der User das Traceing einschaltet, wird in einem neuen Fenster (oder File) das angezeigt was die einzelnen Proceduren so zu berichten haben -- im einfachstem Fall die Ausführungszeit, oder eben wichtige Variablenwerte.
Mir schwebt da so was wie ein Trace-Klasse vor. Diese würde dann, die Trace-Strings sammeln und sie dann wegschreiben. Und in den Proceduren stünde dann so was wie:

Delphi-Quellcode:
if tracing then
  Trace.Add ('Hans=' + inttostr (Alter));
Ist wahrscheinlich einfacher zu realisieren, als ich es beschreiben kann -- aber ich wüßte jetzt nicht, wie man so eine Trace Klasse schreiben würde. (Tatsächlich fällt mir gerade ein, dass man so was ja für viele andere Projekte auch prima gebrauchen könnte).

Jemand eine Idee -- oder einen Link zu so einer Klasse?

Lieben Dank & Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Trace/Logger Klasse

  Alt 10. Jan 2013, 21:01
http://log4delphi.sourceforge.net/
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#3

AW: Trace/Logger Klasse

  Alt 10. Jan 2013, 21:09
Vielen Dank!

Funktional schon das, was ich suchte -- aber doch ein wenig zu groß, das Ganze.
Ich bin eher nach etwas schlichterem auf der Suche ... ein Template für eine eigene Klasse wäre mir da lieber.

Nichtsdestotrotz, vielen Dank!

Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Steku

Registriert seit: 12. Mai 2008
185 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: Trace/Logger Klasse

  Alt 10. Jan 2013, 21:15
Oder vielleicht so etwas:

http://wiki.delphi-jedi.org/wiki/JVCL_Help:TJvLogFile

Gruß
Steku
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#5

AW: Trace/Logger Klasse

  Alt 10. Jan 2013, 21:36
Hmmm, ich werde mal reinschauen, ob ich Dinge übernehmen kann (ist ja auch ziemlich mächtig...).

Danke
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
534 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Trace/Logger Klasse

  Alt 11. Jan 2013, 09:06
THotlog.
Ist zwar schon uralt aber leicht modifiziert nutzen wir das für Delphi immer noch.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Trace/Logger Klasse

  Alt 11. Jan 2013, 09:45
.. naja, etwas OT


Delphi-Quellcode:
if tracing then
  Trace.Add ('Hans=' + inttostr (Alter));
ich würde die Abfrage/Entscheidung ob tracing eingeschaltet ist in der Traceklasse durchführen lassen.

Weiter würde ich noch einen DebugLevel einführen.
Über den DebugLevel lässt sich dann die Detailtiefe beeinflussen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#8

AW: Trace/Logger Klasse

  Alt 11. Jan 2013, 09:56
Vielen Dank Leute!

Eure Beiträge helfen mir ganz prima!


Gruß, Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
sahimba

Registriert seit: 14. Nov 2011
Ort: Berlin, Hauptstadt der DDR
137 Beiträge
 
Delphi 10 Seattle Professional
 
#9

AW: Trace/Logger Klasse

  Alt 11. Jan 2013, 10:57
Hallo,

ich habe das mal was gebaut, was ich Dir zukommen lassen könnte.
Es gibt dort eine Loggingklasse und Logziele. Letztere können ein Textfile, die Konsole oder ein schlichtes OutputDebugString sein. Der Detailgrad (Debug, Info etc.pp) ist konfigurierbar und das Ganze läuft asynchron. Die zu loggende Info wird zunächst in eine Queue gepackt welche von einem Thread verarbeitet und dann an die einzelnen Logziele geschickt wird; so blockiert die Anwendung möglichst nicht.
Das Ganze ist recht schlank, wurde aber von mir noch nicht ausgiebig getestet.
Bei Interesse, kurze Meldung, dann suche ich das raus und zippe es heut abend zusammen.

Grüße
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#10

AW: Trace/Logger Klasse

  Alt 11. Jan 2013, 15:14
Bei Interesse, kurze Meldung, dann suche ich das raus und zippe es heut abend zusammen.
Hallo Stefan,
das ist sehr nett -- ich melde mich gern bei Dir, falls ich mit meinem (inzwischen) eigenen Ansatz nicht weiterkomme (möchte nicht zu früh aufgeben).

btw
Weiss zufällig jemand, was es mit System.Diagnostics.TStopwatch auf sich hat?
Ist das etwas, was ich mit Delphi XE nutzen kann -- oder ist das nur für .NET-Kram? Ich werde aus der Doku von Emba irgendwie nicht schlau, was das nun ist und ob ich es verwenden kann? Das sieht doch aus wie die hier im Forum vor Jahren vorgestellte TStopUhr -- oder stehe ich gerade auf'm Schlauch?

Vielen Dank & Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:03 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