Jump to content

Logger


Andy

Empfohlene Beiträge

Hallo Leute,
der pfjoh-Hans hat derzeit ein Problem, bei dem er sich ein externes Programm wünscht, dass Countdowns trackt, aber etwas anders, als EASY's EV-Überwachung das bietet.
Ich werde versuchen, da mal was zu basteln. Warum sollte die Community das dann nicht auch bekommen?
Das erste kleine Tool, dass ich zur Verfügung stellen kann, ist mein MBSlogger. Mit dem habe ich die ersten Experimente gestartet, um mit MBS zu kommunizieren. Er ist als Konsolenprogramm absolut einfach gehalten. Er bindet keine eine externe Library ein und braucht auch sonst rein gar nix. Er liegt in einem Ordner und wird auch aus dem heraus gestartet. Er besitzt keinen Installer, der Ordner wird irgendwo hin gelegt. MBS muß laufen, dann wird er normal gestartet, und versucht sich über die Standardports mit MBS zu verbinden. Wenn das gelingt, legt er los und zeichnet alle Ereignisse auf, die MBS liefert. Die schreibt er gleichzeitig in eine Log-Datei. Das Programm wird mit Alt-F4 oder Klick auf den Endebutton beendet und dann liegt in dem Ordner eine Datei log.txt, die alle diese Ereignisse enthält. Davor ist noch ein Millisekunden-Timestamp.

Beim ersten Start könnte er meckern, dass ihm eine Runtime-Bibliothek (Visual-C++-Redistributable von 2008) fehlt. Die findet sich im Internet. Da das bei mir schön läuft, weiß ich jetzt nicht, wie sie genau heißt, sonst könnte ich einen Download-Link setzen. Mal abwarten, ob ihr Probleme habt.
@pfjoh: versuche dieses Programm bitte auch, damit wir ggf. die nötigen Maßnahmen treffen können. Eigentlich loggt er auch alle Countdowns, und Du könntest in einem Textprogramm mit der Suchfunktion mit dem Countdownnamen schauen, ob der Countdown stattgefunden hat. Aber ich versuche das Extraprogramm trotzdem, weil ich wissen will, ob ich Allegro mit den Sockets und Multithreading zusammen in den Griff kriege.

Für die Darstellung brauche ich für den Countdown-Beobachter eine Grafiklibrary. Ich werde da der Allegro-Library vertrauen, die es schon seit 20 Jahren gibt, und der ich vertraue, weil ich auch selbst daran noch mitgearbeitet habe. Habe keine Lust mich auf SDL oder pure WinAPI umzustellen, dauert zu lang.

Gleich aber die obligatorische Warnung: Da ich echte Probleme habe, so ein Tool als Plugin zurechtzumachen, entfällt Neo's fürsorgliche Überwachung. Ihr müßt mir bei einer Exe blind vertrauen, dass sie nix Bösartiges enthält, und ich muß MS vertrauen, dass da auch nix Bösartiges mit reingepuzzelt wird, dass ich nicht programmiert habe.
Wenn es trotzdem Probleme gibt, im allerschlimmsten Fall über den Taskmanager beendet. Es kann eigentlich absolut nichts kaputtgehen, außer dass ihr das Ding so lange laufen lasst, dass es die Festplatte zuknallt. Bei fzonk's Straßenverkehr habe ich (Ereignisanzahl schon am MBS-Limit) in einer Viertelstunde eine 5 Megabyte-Datei erhalten. Also, wohl keine Gefahr.

Übrigens ist dieser kleine Logger auch vorbereitet, aktiv in MBS einzugreifen. Ist aber noch nicht genutzt. Aber er könnte beides gleichzeitig, loggen und agieren.

Grüße
   Andy

mbslogger.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

So, jetzt Phase2.
Dieses Programm bindet die Allegro-Bibliothek ein (daher die zwei notwendigen DLLs in dem Ordner), hat die Threadbehandlung von WinAPI auf die von Allegro umgestellt und loggt jetzt nur noch Ereignis 50 (Ablauf eines Countdowns). Es sollte ansonsten genauso wie das erste Programm funktionieren, aber ich habe jetzt die Möglichkeit bequemer auf Grafikmodus und Ereignisverwaltung (Maus etc.) umzuschalten. @pfjoh, auch dieses mal testen bitte. (soll ich in der nächsten Version mal ein Haus den Berg runterkullern lassen :D).

Gruß
  Andy

mbscntdownlogger.zip

ps: Hans, jetzt sind's aber wirklich nur noch wenig Ereignisse. Die kannst Du so ansehen, da sind wir eigentlich nicht gezwungen, das noch weiter zu intensivieren. Solltest den Timern aber mal aussagekräftige Namen geben. Oder hast Du so ein tolles Gedächtnis?

Bearbeitet von Andy
ps
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...