.NET-HILFE

Microsoft Logging C# (Wie es für Entwickler funktioniert)

Veröffentlicht 27. Januar 2024
Teilen Sie:

Einführung

Die Protokollierung ist eine wichtige Technik in C#, mit der Informationen, Warnungen, Fehler und andere relevante Daten während der Ausführung einer Anwendung erfasst werden. Es hilft Entwicklern, das Verhalten ihrer Programme im Auge zu behalten, Probleme zu beheben und zu verstehen, wie die Anwendung in verschiedenen Kontexten funktioniert. C# bietet einige Logging-Frameworks und -Pakete, die die Arbeit mit Logging erleichtern. Microsoft.Erweiterungen.Protokollierung gehört zu den am häufigsten verwendeten Logging-Frameworks in .NET Core-Anwendungen. Das NuGet-Paket "Microsoft.Extensions.Logging" für .NET Core ermöglicht den Zugriff auf mehrere Erweiterungsmethoden, mit denen wir verschiedene Protokollierungsstufen schreiben können. In diesem Artikel werden wir mehr über die MS-Protokollierung erfahren.

So richten Sie die MS-Protokollierung ein

  1. Erstellen Sie eine neue Visual Studio projekt.

  2. Installieren Sie die Bibliothek Microsoft.Extensions.Logging von NuGet.

  3. Injizieren Sie die Schnittstelle "Logger" in die Konsole.

  4. Konfigurieren Sie die Protokollierungsausgabe.

  5. Schreiben Sie Protokolle auf verschiedenen Ebenen.

  6. Führen Sie den Code aus.

Schritt 1: Erstellen Sie ein neues Visual Studio-Projekt

Um zu beginnen, erstellen Sie ein neues Projekt in Visual Studio.

Schritt 2: Installieren Sie die Bibliothek Microsoft.Extensions.Logging

Installieren Sie die Bibliothek Microsoft.Extensions.Logging mit NuGet. Diese Bibliothek bietet die notwendigen Klassen und Methoden für die Protokollierung in .NET Core-Anwendungen.

Schritt 3: Einfügen der Logger-Schnittstelle in die Konsole

Um die Protokollierungsfunktionalität zu nutzen, müssen Sie eine Instanz der Schnittstelle "Logger" in Ihre Konsolenanwendung einfügen. Dies kann mit Hilfe eines Dependency-Injection-Frameworks oder durch manuelles Erstellen einer Instanz der Klasse "Logger" geschehen.

using Microsoft.Extensions.Logging;

// Inject the logger into the console
ILogger logger = LoggerFactory.Create(builder =>
{
    builder.AddConsole();
}).CreateLogger<Program>();
using Microsoft.Extensions.Logging;

// Inject the logger into the console
ILogger logger = LoggerFactory.Create(builder =>
{
    builder.AddConsole();
}).CreateLogger<Program>();
Imports Microsoft.Extensions.Logging

' Inject the logger into the console
Private logger As ILogger = LoggerFactory.Create(Sub(builder)
	builder.AddConsole()
End Sub).CreateLogger<Program>()
VB   C#

Schritt 4: Konfigurieren Sie die Logging-Ausgabe

Legen Sie fest, wie die Protokolle ausgegeben werden sollen. Dies kann durch Hinzufügen eines oder mehrerer Protokollierungsanbieter zum Logger Builder erfolgen. Der häufigste Anbieter ist der Konsolenlogger, der die Protokolle auf der Konsole ausgibt.

builder.AddConsole(options =>
{
    options.TimestampFormat = "[HH:mm:ss] ";
});
builder.AddConsole(options =>
{
    options.TimestampFormat = "[HH:mm:ss] ";
});
builder.AddConsole(Sub(options)
	options.TimestampFormat = "[HH:mm:ss] "
End Sub)
VB   C#

Schritt 5: Schreiben von Protokollen auf verschiedenen Ebenen

Mit dem Logger-Objekt können Sie nun Protokolle auf verschiedenen Ebenen schreiben. Die verfügbaren Protokollierungsmethoden sind LogDebug(), LogInformation(), LogWarning(), LogError(), und "LogCritical()`.

logger.LogDebug("This is a debug message");
logger.LogInformation("This is an information message");
logger.LogWarning("This is a warning message");
logger.LogError("This is an error message");
logger.LogCritical("This is a critical message");
logger.LogDebug("This is a debug message");
logger.LogInformation("This is an information message");
logger.LogWarning("This is a warning message");
logger.LogError("This is an error message");
logger.LogCritical("This is a critical message");
logger.LogDebug("This is a debug message")
logger.LogInformation("This is an information message")
logger.LogWarning("This is a warning message")
logger.LogError("This is an error message")
logger.LogCritical("This is a critical message")
VB   C#

Schritt 6: Ausführen des Codes

Führen Sie schließlich Ihren Code aus und beobachten Sie die Ausgabe der Protokolle entsprechend den konfigurierten Einstellungen.

Das war's! Sie haben die MS-Protokollierung in Ihrer C#-Anwendung erfolgreich eingerichtet und verwendet.

MS Logging installieren

Um MS Logging zu installieren, gehen Sie folgendermaßen vor:

  1. Starten Sie Visual Studio.

  2. Navigieren Sie zu Tools > NuGet Package Manager > Package Manager Console.

  3. Führen Sie in der Paketmanager-Konsole den folgenden Befehl aus:
    Install-Package Microsoft.Extensions.Logging
  1. Drücken Sie Enter, um den Befehl auszuführen. Dadurch wird das Paket Microsoft.Extensions.Logging heruntergeladen und in Ihr Projekt installiert.

Logging-Stufen

Im Framework "Microsoft.Extensions.Logging" in C# stehen mehrere Protokollierungsebenen zur Verfügung, die es Entwicklern ermöglichen, Protokollmeldungen nach ihrer Bedeutung und ihrem Schweregrad zu klassifizieren und einzustufen. Diese Stufen werden häufig verwendet, um zwischen verschiedenen Nachrichtentypen zu unterscheiden und die Ausführlichkeit von Protokollen zu regulieren.

Die Standardprotokollebenen, die von "Microsoft.Extensions.Logging" angeboten werden, sind wie folgt:

  • Trace: Die gründlichste Stufe, die oft für unglaublich detaillierte Daten verwendet wird, die ein tiefes Verständnis der inneren Funktionsweise des Programms ermöglichen.
  • Debug: Debugging-Informationen, die während der Entwicklungs- und Debugging-Phase nützlich sind, aber in einer Produktionsumgebung oft nicht benötigt werden.
  • Informationen: Bietet Einzelheiten über die normale Funktionsweise der Anwendung. In der Regel wird der reguläre Betrieb des Programms anhand dieser Protokolle überwacht.
  • Warnung: Weist auf ein mögliches Problem hin oder auf etwas, das in Zukunft beachtet werden muss. Es wird für anomale oder unerwartete Situationen verwendet, die zu Problemen führen könnten, aber nicht unbedingt zum Absturz des Programms führen.
  • Fehler: Signalisiert ein ernstes Problem oder einen Fehler, der sofort behoben werden muss. Wird normalerweise verwendet, um Probleme aufzuzeichnen, die den Betrieb der Anwendung beeinträchtigen.
  • Kritisch: Der schwerwiegendste Zustand, der dazu dient, kritische Probleme zu erfassen, die sofort behoben werden müssen, da sie ernsthafte Probleme oder Programmabstürze verursachen können.

    Jede Protokollebene dient einem bestimmten Zweck und bietet Entwicklern die Möglichkeit, die Datenmenge zu verwalten, die das Protokollierungssystem ausgibt. Die Entwickler können je nach Schweregrad und Bedeutung der protokollierten Daten die geeignete Ebene für die Nachrichtenaufzeichnung wählen.

C#-Protokollierung konfigurieren

Hier ist ein einfaches Beispiel für die Konfiguration der Protokollierung mit "Microsoft.Extensions.Logging":

using Microsoft.Extensions.Logging;
using System;

class Program
{
    // Create a LoggerFactory instance
    private static readonly ILoggerFactory LoggerFactory = LoggerFactory.Create(builder =>
    {
        // Add console logger
        builder.AddConsole();
        // You can add other logging providers here (e.g., AddDebug, AddFile, etc.)
    });

    // Create a logger
    private static readonly ILogger Logger = LoggerFactory.CreateLogger<Program>();

    static void Main(string [] args)
    {
        // Example log messages
        Logger.LogInformation("Information log");
        Logger.LogWarning("Warning log");
        Logger.LogError("Error log");

        try
        {
            // Simulate an exception
            throw new Exception("Exception occurred");
        }
        catch (Exception ex)
        {
            // Log exception details
            Logger.LogError(ex, "Exception log");
        }

        Console.ReadKey();
    }
}
using Microsoft.Extensions.Logging;
using System;

class Program
{
    // Create a LoggerFactory instance
    private static readonly ILoggerFactory LoggerFactory = LoggerFactory.Create(builder =>
    {
        // Add console logger
        builder.AddConsole();
        // You can add other logging providers here (e.g., AddDebug, AddFile, etc.)
    });

    // Create a logger
    private static readonly ILogger Logger = LoggerFactory.CreateLogger<Program>();

    static void Main(string [] args)
    {
        // Example log messages
        Logger.LogInformation("Information log");
        Logger.LogWarning("Warning log");
        Logger.LogError("Error log");

        try
        {
            // Simulate an exception
            throw new Exception("Exception occurred");
        }
        catch (Exception ex)
        {
            // Log exception details
            Logger.LogError(ex, "Exception log");
        }

        Console.ReadKey();
    }
}
Imports Microsoft.Extensions.Logging
Imports System

Friend Class Program
	' Create a LoggerFactory instance
	Private Shared ReadOnly LoggerFactory As ILoggerFactory = LoggerFactory.Create(Sub(builder)
		' Add console logger
		builder.AddConsole()
		' You can add other logging providers here (e.g., AddDebug, AddFile, etc.)
	End Sub)

	' Create a logger
	Private Shared ReadOnly Logger As ILogger = LoggerFactory.CreateLogger(Of Program)()

	Shared Sub Main(ByVal args() As String)
		' Example log messages
		Logger.LogInformation("Information log")
		Logger.LogWarning("Warning log")
		Logger.LogError("Error log")

		Try
			' Simulate an exception
			Throw New Exception("Exception occurred")
		Catch ex As Exception
			' Log exception details
			Logger.LogError(ex, "Exception log")
		End Try

		Console.ReadKey()
	End Sub
End Class
VB   C#

In diesem Beispiel wird ein Konsolenlogger zur Protokollierungskonfiguration hinzugefügt, der Protokolle auf die Konsole schreibt. Microsoft.Extensions.Logging" bietet jedoch verschiedene Protokollierungsanbieter, einschließlich der Protokollierung in Dateien, Datenbanken oder der Verbindung mit anderen Protokollierungs-Frameworks. Darüber hinaus ist es möglich, benutzerdefinierte Logging-Provider zu erstellen, die Protokolle entsprechend den spezifischen Anforderungen formatieren können.

Einbindung zusätzlicher Anbieter für die Protokollierung

Sie können zusätzliche Protokollierungsquellen hinzufügen, indem Sie die entsprechenden Methoden innerhalb der `Create()funktion. Zum Beispiel:

  • Um einen Anbieter für die Debugger-Ausgabeprotokollierung hinzuzufügen, verwenden Sie builder.AddDebug().
  • Um einen Dateiprotokollanbieter hinzuzufügen, verwenden Sie builder.AddFile("log.txt").

MSLogging auf IronPDF

Um die Protokollierung in IronPDF zu aktivieren, können Sie das Framework Microsoft.Extensions.Logging zusammen mit den in IronPDF integrierten Protokollierungsfunktionen verwenden. Hier ist ein Beispiel für die Einrichtung der Protokollierung in IronPDF:

using Microsoft.Extensions.Logging;
using IronPdf;

class Program
{
    static void Main(string [] args)
    {
        ILoggerFactory loggerFactory = LoggerFactory.Create(builder =>
        {
            builder
                .AddConsole()
                .AddDebug();
        });

        ILogger<Program> logger = loggerFactory.CreateLogger<Program>();

        // Enable logging in IronPDF
        Logger.Log = new LoggerImplementation(logger);

        // Use IronPDF and perform operations
        // ...

        // Example of logging an error in IronPDF
        Logger.Log.Error("An error occurred while processing the PDF");

        // Example of logging a warning in IronPDF
        Logger.Log.Warning("This is a warning message");

        // Example of logging an information message in IronPDF
        Logger.Log.Information("This is an information message");

        // ...

        // Close and dispose resources
        // ...

        // Flush the log messages
        loggerFactory.Dispose();
    }
}
using Microsoft.Extensions.Logging;
using IronPdf;

class Program
{
    static void Main(string [] args)
    {
        ILoggerFactory loggerFactory = LoggerFactory.Create(builder =>
        {
            builder
                .AddConsole()
                .AddDebug();
        });

        ILogger<Program> logger = loggerFactory.CreateLogger<Program>();

        // Enable logging in IronPDF
        Logger.Log = new LoggerImplementation(logger);

        // Use IronPDF and perform operations
        // ...

        // Example of logging an error in IronPDF
        Logger.Log.Error("An error occurred while processing the PDF");

        // Example of logging a warning in IronPDF
        Logger.Log.Warning("This is a warning message");

        // Example of logging an information message in IronPDF
        Logger.Log.Information("This is an information message");

        // ...

        // Close and dispose resources
        // ...

        // Flush the log messages
        loggerFactory.Dispose();
    }
}
Imports Microsoft.Extensions.Logging
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim loggerFactory As ILoggerFactory = LoggerFactory.Create(Sub(builder)
			builder.AddConsole().AddDebug()
		End Sub)

		Dim logger As ILogger(Of Program) = loggerFactory.CreateLogger(Of Program)()

		' Enable logging in IronPDF
		Logger.Log = New LoggerImplementation(logger)

		' Use IronPDF and perform operations
		' ...

		' Example of logging an error in IronPDF
		Logger.Log.Error("An error occurred while processing the PDF")

		' Example of logging a warning in IronPDF
		Logger.Log.Warning("This is a warning message")

		' Example of logging an information message in IronPDF
		Logger.Log.Information("This is an information message")

		' ...

		' Close and dispose resources
		' ...

		' Flush the log messages
		loggerFactory.Dispose()
	End Sub
End Class
VB   C#

In diesem Beispiel wird eine Instanz der "LoggerFactory" aus dem Framework "Microsoft.Extensions.Logging" erstellt. Anschließend erstellen wir einen Logger aus der Fabrik für die Klasse "Program".

Um die Protokollierung in IronPDF zu aktivieren, setzen wir die statische Eigenschaft Logger.Log auf eine Instanz von LoggerImplementation, die den Logger von loggerFactory übernimmt. Mit dieser Konfiguration können Sie Logger.Log-Methoden verwenden, um Nachrichten innerhalb von IronPDF zu protokollieren.

Nachdem Sie die notwendigen Operationen mit IronPDF durchgeführt haben, können Sie die Ressourcen schließen und entsorgen, und dann die Protokollnachrichten löschen, indem Sie die loggerFactory entsorgen.

Hinweis: Stellen Sie sicher, dass Sie die erforderlichen Abhängigkeiten und Pakete für "Microsoft.Extensions.Logging" und IronPDF installiert haben.

IronPDF installieren

Um die IronPDF-Bibliothek zu installieren, gehen Sie folgendermaßen vor:

  1. Öffnen Sie die Paketmanager-Konsole in Visual Studio.

  2. Geben Sie den folgenden Befehl ein, um die IronPDF-Bibliothek mit NuGet zu installieren:
Install-Package IronPdf

Alternativ können Sie auch die .NET CLI verwenden, indem Sie den folgenden Befehl im Terminal ausführen:

dotnet add package IronPdf
  1. Drücken Sie Enter, um den Befehl auszuführen. Dadurch wird das IronPDF-Paket heruntergeladen und in Ihrem Projekt installiert.

    Es ist auch möglich, die IronPDF-Bibliothek über die NuGet Package Manager GUI zu installieren. Suchen Sie einfach auf der Registerkarte Durchsuchen nach dem Paket "IronPDF", wählen Sie das gewünschte Paket aus der Liste aus, und installieren Sie die neueste Version von IronPDF.

    Sobald die Installation abgeschlossen ist, können Sie die IronPDF-Bibliothek in Ihrem Projekt verwenden.

MS-Protokollierung mit IronPDF

Ab Januar 2022 interagiert IronPDF nicht mehr direkt mit Microsoft.Extensions.Logging und wird nicht mehr nativ unterstützt. IronPDF wird in erster Linie als Werkzeug zum Erstellen und Ändern von PDFs in C#-Programmen verwendet.

Sie können die Protokollierung jedoch auch mit Microsoft.Extensions. Durch die Integration der Protokollierung in Ihr C#-Programm zusammen mit IronPDF können Sie Ereignisse im Zusammenhang mit der PDF-Produktion, dem Anwendungs-Workflow oder Problemen, die bei der Verwendung von IronPDF auftreten, verwalten und protokollieren.

Hier ist ein Beispiel für die Verwendung von Microsoft.Extensions zur Integration der Protokollierung in IronPDF:

using Microsoft.Extensions.Logging;
using IronPdf;
using System;

class Program
{
    private static readonly ILoggerFactory LoggerFactory = LoggerFactory.Create(builder =>
    {
        builder.AddConsole(); // Add other logging providers as needed
    });

    private static readonly ILogger Logger = LoggerFactory.CreateLogger<Program>();

    static void Main(string [] args)
    {
        try
        {
            // Your IronPDF code for PDF generation or manipulation
            var Renderer = new IronPdf.HtmlToPdf();
            var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
            PDF.SaveAs("Output.pdf");
            Logger.LogInformation("PDF created successfully.");
        }
        catch (Exception ex)
        {
            Logger.LogError(ex, "An error occurred while generating the PDF.");
        }

        Console.ReadKey();
    }
}
using Microsoft.Extensions.Logging;
using IronPdf;
using System;

class Program
{
    private static readonly ILoggerFactory LoggerFactory = LoggerFactory.Create(builder =>
    {
        builder.AddConsole(); // Add other logging providers as needed
    });

    private static readonly ILogger Logger = LoggerFactory.CreateLogger<Program>();

    static void Main(string [] args)
    {
        try
        {
            // Your IronPDF code for PDF generation or manipulation
            var Renderer = new IronPdf.HtmlToPdf();
            var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
            PDF.SaveAs("Output.pdf");
            Logger.LogInformation("PDF created successfully.");
        }
        catch (Exception ex)
        {
            Logger.LogError(ex, "An error occurred while generating the PDF.");
        }

        Console.ReadKey();
    }
}
Imports Microsoft.Extensions.Logging
Imports IronPdf
Imports System

Friend Class Program
	Private Shared ReadOnly LoggerFactory As ILoggerFactory = LoggerFactory.Create(Sub(builder)
		builder.AddConsole() ' Add other logging providers as needed
	End Sub)

	Private Shared ReadOnly Logger As ILogger = LoggerFactory.CreateLogger(Of Program)()

	Shared Sub Main(ByVal args() As String)
		Try
			' Your IronPDF code for PDF generation or manipulation
			Dim Renderer = New IronPdf.HtmlToPdf()
			Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
			PDF.SaveAs("Output.pdf")
			Logger.LogInformation("PDF created successfully.")
		Catch ex As Exception
			Logger.LogError(ex, "An error occurred while generating the PDF.")
		End Try

		Console.ReadKey()
	End Sub
End Class
VB   C#

Dieses Beispiel demonstriert eine einfache Möglichkeit, Microsoft.Extensions.Logging in einer C#-Anwendung einzurichten, die IronPDF verwendet. Logging-Meldungen werden generiert, um die erfolgreiche Erstellung von PDFs zu dokumentieren und eventuell auftretende Ausnahmen zu erfassen.

Stellen Sie sicher, dass Sie die Protokollierungsebenen, die Fehlerbehandlung und die Meldungen an die spezifischen Anforderungen Ihrer Anwendung und an die Szenarien anpassen, in denen IronPDF für die PDF-Erstellung oder -Änderung verwendet wird. Die richtige Unterscheidung zwischen den verschiedenen Arten von Protokollmeldungen mithilfe von Protokollierungsebenen kann für eine effektive Fehlersuche und Überwachung nützlich sein.

Um mehr über IronPDF zu erfahren, besuchen Sie bitte die offizielle Website.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die Integration von Microsoft.Extensions.Logging es C#-Entwicklern ermöglicht, Protokollierungsaufgaben effektiv zu bewältigen. IronPDF bietet umfassende Protokollierungsfunktionen, die eine gründliche Aufzeichnung, Analyse und Berichterstattung von Anwendungsereignissen, Fehlern und wichtigen Daten ermöglichen. Dies erhöht die Zuverlässigkeit der Anwendung, die Wartung und die Fehlersuche.

IronPDF bietet verschiedene Softwareprodukte an, darunter ein Lite-Paket zum Preis von $749. Dieses Paket enthält eine permanente Lizenz, Upgrade-Optionen, ein Jahr Software-Wartung und eine dreißigtägige Geld-zurück-Garantie. Während der mit Wasserzeichen versehenen Testphase können Sie die Funktionen von IronPDF erkunden. Um mehr über die von Iron Software angebotenen Softwareprodukte zu erfahren, besuchen Sie bitte die offizielle Website des Unternehmens unter https://ironsoftware.com/.

< PREVIOUS
Cefsharp.WPF.NET Core (Wie es für Entwickler funktioniert)
NÄCHSTES >
Serilog .NET (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >