<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stellsi.de/index.php?action=history&amp;feed=atom&amp;title=Development%3AAnforderungen_Logging</id>
	<title>Development:Anforderungen Logging - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stellsi.de/index.php?action=history&amp;feed=atom&amp;title=Development%3AAnforderungen_Logging"/>
	<link rel="alternate" type="text/html" href="https://wiki.stellsi.de/index.php?title=Development:Anforderungen_Logging&amp;action=history"/>
	<updated>2026-04-06T08:49:16Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in StellSi-Hilfewiki</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://wiki.stellsi.de/index.php?title=Development:Anforderungen_Logging&amp;diff=199&amp;oldid=prev</id>
		<title>BorisM: Die Seite wurde neu angelegt: „= Vorwort = Ich beschreibe hier einen Sollzustand zur Diskussion, ohne den Istzustand zu berücksichtigen. Dass ggf. das ein oder andere schon umgesetzt wurde…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.stellsi.de/index.php?title=Development:Anforderungen_Logging&amp;diff=199&amp;oldid=prev"/>
		<updated>2015-08-15T08:13:18Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= Vorwort = Ich beschreibe hier einen Sollzustand zur Diskussion, ohne den Istzustand zu berücksichtigen. Dass ggf. das ein oder andere schon umgesetzt wurde…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Vorwort =&lt;br /&gt;
Ich beschreibe hier einen Sollzustand zur Diskussion, ohne den Istzustand zu berücksichtigen. Dass ggf. das ein oder andere schon umgesetzt wurde ist mir bewusst :-)&lt;br /&gt;
= Überlegungen =&lt;br /&gt;
* Realisierung als Singleton (Verfügbarkeit immer und überall auf geregelte Art)&lt;br /&gt;
* Trennung Model - View&lt;br /&gt;
* Realisierung unterschiedlicher Loggingstufen (Temporary, evtl. Debug_cyclic, Debug, Info, Warnung, Fehler, Fatal Error)&lt;br /&gt;
** Temporary-Logging ist für temporär während der Entwicklung gedacht, die anschließend nicht mehr benötigt werden, und muss in produktiven Versionen ausgebaut sein (Performance-Gründe, Vermeidung von Überfüllung des Loggings)&lt;br /&gt;
* Realisierung unterschiedlicher Loggingarten:&lt;br /&gt;
** Programmfehler&lt;br /&gt;
** stwb/Scripting-Fehler (gemeldet durch das PRogramm)&lt;br /&gt;
** Ausgaben durch Logging-Funktion im Script&lt;br /&gt;
* Implementierung eines Filters im View, der nach Loggingstufen und Loggingarten filtert. &lt;br /&gt;
* Standardmäßig werden Debug-Ausgaben im Model entweder nicht erfasst oder mengenmäßig limitiert (Performance). Das lässt sich umschalten.&lt;br /&gt;
&lt;br /&gt;
= Performance, Verhinderung von Logfluten =&lt;br /&gt;
Das Fluten des Logs muss vermieden werden. Zyklische Nachrichten dürfen nur mit Logstufe Temporary ausgegeben werden. &lt;br /&gt;
&lt;br /&gt;
Auf Debug-Level muss Loggen zyklischer Nachrichten wahrscheinlich weitgehend vermieden werden. Hier ist zu untersuchen, ob es eine Möglichkeit gibt, bei abgeschaltetem Debug-Logging das Erstellen des zu loggenden Strings zu verhindern. Ist die Abfrage, ob geloggt werden soll, erst in der Logging-Funktion selbst, dürfte zuerst das String-objekt erstellt, und dann erst entschieden werden, dass der String nicht genutzt wird. Das ist bisher allerdings eine Vermutung und noch nicht verifiziert.&lt;br /&gt;
&lt;br /&gt;
Sollte es möglich sein, das Erstellen des String-Objekts zu verhindern, kann über eine weitere Debug-Stufe (Debug_cyclic) nachgedacht werden.&lt;br /&gt;
&lt;br /&gt;
= Erfasste Daten =&lt;br /&gt;
Jede Lognachricht wird in einer eigenen Klasse erfasst. Dabei wird erfasst:&lt;br /&gt;
* Uhrzeit&lt;br /&gt;
* Logart&lt;br /&gt;
* Logstufe&lt;br /&gt;
* Lognachricht&lt;br /&gt;
* Ggf. Ort des Auftretens (z.B. Quelltextdatei/Zeile)&lt;br /&gt;
&lt;br /&gt;
Wichtig: Performance (Speicher, Rechenzeit) beachten!&lt;br /&gt;
&lt;br /&gt;
= Anbindung Views =&lt;br /&gt;
Beobachter-Pattern ist aus Performance-Grunden nicht geeignet. &lt;br /&gt;
&lt;br /&gt;
Der Logger bietet eine Möglichkeit für Views:&lt;br /&gt;
* Daten abzurufen (ggf. vorgefiltert)&lt;br /&gt;
* Daten zu abonnieren (ggf. mit Filter)&lt;br /&gt;
&lt;br /&gt;
Neu eintreffende Daten werden dann automatisch an die Views weitergegeben.&lt;br /&gt;
&lt;br /&gt;
= Views =&lt;br /&gt;
Benötigte Views:&lt;br /&gt;
* Weiterleitung auf Konsole&lt;br /&gt;
* Grafische filterbare Liste&lt;br /&gt;
* Export in eine Datei/Upload auf Server/Versand per E-Mail&lt;br /&gt;
&lt;br /&gt;
= Nett zu haben =&lt;br /&gt;
Schafft man es im Fall von Programmabstürzen Daten sowie das Log dazu zu sammeln? &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Anforderungen]]&lt;br /&gt;
[[Kategorie:Umbauplanung_Boris]]&lt;/div&gt;</summary>
		<author><name>BorisM</name></author>
	</entry>
</feed>