Suche Tip: "LOG"-Ticket Reporter

Hallo,

ich weiss, dass es schon den einen oder anderen Therad zu einem ählichen Thema gab, trotzdem, weil meine Frage auf die Implementierung und nicht die Ausprägung abzielt, will ich da nochmals separat die Diskussion aufwerfen:

Ich würde gerne sowas wie ein eigenes Logging schreiben.

Das Logging soll dabei einen eigenständigen Prozess darstellen und den eigentlichen Hauptprozess nicht „vezögern“, also keine Funktion per Include oder sowas sein.

Natürlich muss das Logging trotzdem zuverlässig sein und im Falle einer größeren Verzögerung (die dann zu einer zeitlich falschen Protokollierung führen könnte) dieses aufdecken.

Ich stelle mir dabei vor, dass ein Script an den Logginprozess ein Ticket (wenige Bytes bis vielleicht 100 Bytes) „schickt“ / „absetzt“ (da istder erste Fragenkomplex: wie?).

Der Loggingprozess „holt das Ticket ab“ und kümmert sich dann um alles weitere (z.B. auch das aufsplitten der Tickets in ggf. mehrere LogDateien, das zeitliche Splitten der Logdateien z.B. in Stündliche Dateien etc.).

Ein Script kann so ein „Ticket“ erstellen - das ist letzlich die Info, welche in das spezifische Protokoll soll und „absetzen“, fertig. das könnte eine Funktion erledigen.

Der Prozess, der die Tickets in Log schreibt hat dann „alle Zeit der Welt“, sich um solche Themen zu kümmern wie:

  • Dateihandling (Größe, Uhrzeiten, Schreibrechte),
  • bei bestimmten Dingen zusätzlich eine E-Mail zu versenden etc
  • ggf. weitere Prozesse anstossen

Wesentlich hierbei ist m.E., dass das Absetzen des Tickets schnell, unproblematisch und sicher geht (File mit Zufallsname???).

Frage:
Wie würdet ihr sowas realisieren?

IPS_RunScriptEx?
IPS_RunScript & „Ticket-Datei“?
Schreiben in Variable(n) mit Event auf die Variable?

Wie das Delay (Log hinkt hinterher) feststellen?
Wie sicherstellen, dass die Reihenfolge der Tickets auch so ins Log kommt, wie sie von möglicherweise parallel laufenden Scripten „zeitgleich“ abgesetzt werden?

Bin sehr auf Eure Meinungen & Ideen gespannt!

jwka

Dieses Thema steht auch in engem Zusammenhang mit meinen hier gestellten Fragen: