Logging Artikel

CMTrace-kompatible Logs richtig aufbauen.

CMTrace-kompatible Logs sind im Packaging-Alltag deshalb stark, weil sie Zeit, Kontext und Schweregrad strukturiert transportieren und trotzdem schnell lesbar bleiben. Der Nutzen entsteht aber nur dann, wenn das Format konsequent und sauber gebaut wird.

Was CMTrace-kompatibel bedeutet

Ein Logeintrag folgt einem klaren Muster mit Nachricht, Zeit, Datum, Komponente, Kontext, Typ und Thread. Dadurch kann ein Logviewer die Zeile strukturiert interpretieren statt nur als freien Text anzeigen.

Warum das im Deployment hilft

Du bekommst schneller sichtbare Unterschiede zwischen Info, Warning und Error, kannst Komponenten besser filtern und erkennst leichter, in welchem Benutzer- oder Systemkontext ein Fehler entstanden ist.

PowerShell
$entry = "<![LOG[Installation gestartet]LOG]!>" +
  "<time=`"09:14:52.123456`" " +
  "date=`"2026-03-11`" " +
  "component=`"Install`" " +
  "context=`"DOMAIN\User`" " +
  "type=`"1`" " +
  "thread=`"8`" " +
  "file=`"`">"

Pflichtfelder in der Praxis

  • Nachricht
  • Zeitstempel mit hoher Genauigkeit
  • Datum
  • Komponente
  • Kontext
  • Typ
  • Thread

Typ-Mapping sauber halten

  • 1 fuer Info
  • 2 fuer Warning
  • 3 fuer Error
  • Keine Mischformen oder Freitextwerte

Was Logs oft kaputt macht

  • Zeilenumbrueche in Nachrichten
  • Sonderzeichen, die das Muster brechen
  • wechselnde Component-Namen
  • falsche Typ-Werte

Empfehlung fuer die Seite

Wenn du CMTrace-kompatible Logs vorstellst, sollte immer klar sichtbar sein, welche Teile formatkritisch sind und welche Felder du bewusst fuer Betrieb und Troubleshooting mitfuehrst.

Gute Komponenten-Namen

Nutze feste Bezeichnungen wie Precheck, Install, Uninstall, Detection oder PostInstall. So werden Logs auch nach Monaten noch auswertbar.

Format vor Inhalt schuetzen

Genau hier ist eine vorgeschaltete Funktion wie Convert-ToLogSafeString stark: sie verhindert, dass einzelne Zeichen den ganzen Logsatz unlesbar machen.