Neben der Protokollierung der Debug-Ausgaben von List & Label oder dem Report Server kann es als generischer UDP-Paketlogger verwendet werden, der auf einem frei konfigurierbaren UDP-Port auf eingehende Nachrichten wartet. Sie können die eingehenden Nachrichten auch parsen, ein Beispielparser für Log4J-Pakete ist enthalten.
Viele von Ihnen sind mit Debwin4 vertraut, da wir im Rahmen unseres Support-Prozesses häufig nach Log-Dateien fragen, die mit diesem Tool erstellt wurden. Sie sollten noch heute damit beginnen, Logging in Ihre eigene Anwendung einzubauen, wenn Sie es nicht schon tun – für uns ist es ein unverzichtbares „Feature“ von List & Label. Eigenes Logging ist ganz einfach, wenn Sie List & Label in Ihrer Anwendung integriert haben. Die grundlegendste Anwendung ist die LlDebugOutput-API. Sie ermöglicht die Ausgabe von einfachen Strings. Wenn Sie mehr wollen, finden Sie hier ein Beispiel, wie Sie die Protokollierung zu Ihrer eigenen IDataProvider-Implementierung hinzufügen können.
Fügen Sie einfach die Schnittstelle ISupportsLogger zu Ihrer Datenanbieter-Implementierung hinzu. Sie hat eine einzige Methode:
void SetLogger(ILlLogger logger, bool overrideExisting);
Die ILlLogger-Schnittstelle ist der interessante Teil. Sie können Debug-, Info-, Warn- und Fehlermeldungen ausgeben:
public interface ILlLogger { bool WantOutput(LogLevels level, LogCategory category); void Debug(LogCategory category, [Localizable(false)] string message, params object[] args); void Debug(int indentationDelta, LogCategory category, [Localizable(false)] string message, params object[] args); void Info(LogCategory category, [Localizable(false)] string message, params object[] args); void Info(int indentationDelta, LogCategory category, [Localizable(false)] string message, params object[] args); void Warn(LogCategory category, [Localizable(false)] string message, params object[] args); void Error(LogCategory category, [Localizable(false)] string message, params object[] args); }
Anschließend können Sie in der Debwin Logger App nach dem gewünschten Log-Level filtern.
Wenn Sie andere Teile Ihrer Anwendung protokollieren möchten, können Sie jederzeit eine ILlLogger-Schnittstelle erstellen, indem Sie die statische Eigenschaft LoggingHelper.LlCoreDebugOutputLogger wie folgt verwenden:
LoggingHelper.LlCoreDebugOutputLogger.Error(LogCategory.Net, "Server connection error ({0}): {1}", response.StatusCode.ToString(), response.Result);
Das Hinzufügen von Logging zu einer Anwendung ist ein No-Brainer für jede Entwicklung, in der auf Qualität gesetzt wird. Und falls die Logging-App nicht alle Funktionen hat, die Sie für eine Analyse benötigen, können Sie noch heute einen Beitrag leisten. Wir würden uns freuen, Pull Requests für das Projekt zu erhalten.