Telegramm -Protokollierungsanbieter für Serilog- und Standard -.NET -Protokollierung.
Was ist Telegramm? Was mache ich hier? Telegram ist eine Messaging-App mit Schwerpunkt auf Geschwindigkeit und Sicherheit. Sie ist superschnell, einfach und kostenlos. Sie können alle Ihre Geräte gleichzeitig Telegramm verwenden - Ihre Nachrichten synchronisieren sich nahtlos über eine beliebige Anzahl Ihrer Telefone, Tablets oder Computer. Telegram verfügt über über 500 Millionen monatliche aktive Benutzer und ist eine der 10 am meisten heruntergeladenen Apps der Welt.
Weil es sehr komfortabel ist - Sie können wichtige Nachrichten direkt auf Ihr Smartphone oder Laptop erhalten.
Für das Senden von Protokollnachrichten in den Telegrammkanal oder Chat müssen Sie zuvor Telegram -Bot erstellen. Hier finden Sie, wie es geht. Nachdem Sie Bot erstellt haben, fügen Sie es mit Administratorrolle in den Kanal hinzu und lassen Sie Bot Nachrichten veröffentlichen.
In Telegram gibt es zwei Arten von Kanälen: öffentlich und privat. Für den öffentlichen Kanal können Sie den Kanalnamen als Chatid in der Konfiguration verwenden.
Für den privaten Kanal können Sie @JSondumpBot verwenden, um eine private Kanal -ID zu erhalten. Leiten Sie einfach eine Nachricht von privatem Channelto in diesem Bot weiter. Zusätzliche Informationen, die Sie hier finden können.
Vergessen Sie nicht, Ihren Bot als Administrator mit Schreibmeldungsberechtigungen zum Kanal hinzuzufügen.
X.EXTENSSS.Logging.telegram ist der Protokollierungsanbieter für Standard -NET -Protokollierung.
Sie können einen Telegramm -Protokollierungsanbieter nach Code oder nach Konfigurationsdatei konfigurieren:
var options = new TelegramLoggerOptions ( LogLevel . Information )
{
AccessToken = "1234567890:AAAaaAAaa_AaAAaa-AAaAAAaAAaAaAaAAAA" ,
ChatId = "-0000000000000" ,
Source = "Human Readable Project Name"
} ;
.. .
builder
. ClearProviders ( )
. AddTelegram ( options )
. AddConsole ( ) ;
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"Telegram": {
"LogLevel": {
"Default": "Error",
"WebApp.Controllers": "Warning"
},
"AccessToken": "1234567890:AAAaaAAaa_AaAAaa-AAaAAAaAAaAaAaAAAA",
"ChatId": "1234567890",
"Source": "Human Readable Project Name"
}
},
"AllowedHosts": "*"
}
und Iconfiguration -Objekt an Erweiterungsmethode übergeben
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging((context, builder) =>
{
if (context.Configuration != null)
builder
.AddTelegram(context.Configuration)
.AddConsole();
})
.ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
Jetzt können Entwickler ihre eigene Implementierung zum Schreiben von Daten in Telegramm verwenden. Benutzerdefinierter Schriftsteller sollte die Iloogwriter -Schnittstelle implementieren:
var customLogWriter = new CustomLogWriter ( ) ;
logBuilder . AddTelegram ( options , customLogWriter ) ;Für die Implementierung benutzerdefinierter Nachrichtenformatierung von iTelegrammessageFormatter kann jetzt verwendet werden.
private ITelegramMessageFormatter CreateFormatter ( string name )
{
return new CustomTelegramMessageFormatter ( name ) ;
}
logBuilder . AddTelegram ( options , CreateFormatter ) ;Für die Verwendung des delegierten Func <String für benutzerdefinierte Nachrichtenformatierter sollte iTelegrammessageFormatter> an die Erweiterungsmethode addtelegram übergeben werden. Delegierter sollte verwendet werden, da das Formatierer wissen muss, welche Kategorie zur Rendert der Nachricht verwendet wird.
X.Serilog.SINKS.Telegram ist eine Open-Source-Serilog-Spüle, mit der Sie Protokollereignisse an Telegramm senden können. Dies ist eine bequeme Möglichkeit, Telegramm als Protokollierungsausgabe zu integrieren, sodass Sie wichtige Protokollinformationen direkt in Ihrem Chat empfangen können.
Echtzeit-Protokollierung : Die Spüle bietet in Echtzeit die Möglichkeit, Protokollereignisse an einen Telegrammkanal zu senden, um sicherzustellen, dass Sie über das Verhalten Ihrer Anwendung und alle Probleme auf dem Laufenden bleiben können.
Anpassbare Formatierung : Sie können das Format der an den Telegrammkanal gesendeten Protokollnachrichten konfigurieren, sodass Sie diese auf Ihre Einstellungen und spezifischen Anforderungen anpassen können.
Filterung : Die Senke unterstützt Filterprotokollereignisse, bevor sie in den Telegrammkanal geschickt werden, um sicherzustellen, dass nur relevante Informationen weitergegeben werden.
Asynchrones Senden : Protokollereignisse werden asynchron an den Telegrammkanal gesendet, wodurch die potenziellen Auswirkungen auf die Leistung Ihrer Anwendung minimiert werden.
Einfache Konfiguration : Die Konfiguration der Sinke für die Arbeit mit Ihrem Telegrammkanal ist einfach, und Sie können umfassende Informationen im Konfigurations -Wiki finden.
Befolgen Sie die folgenden Schritte:
dotnet add package X.Serilog.Sinks.Telegram Log . Logger = new LoggerConfiguration ( )
. WriteTo . TelegramCore (
token : botToken ,
chatId : loggingChatId ,
logLevel : LogEventLevel . Verbose )
. WriteTo . Console ( )
. CreateLogger ( ) ;Weitere detaillierter Konfigurationsoptionen finden Sie im Konfigurations -Wiki.
Dieses Repository enthält mehrere Beispielprojekte, die demonstrieren, wie beide Bibliotheken in verschiedenen Szenarien verwendet werden. Diese Beispiele können hilfreich sein, wenn Sie anfangen oder eine bestimmte Funktion verwenden möchten.
Fühlen Sie sich frei, alle gewünschten Verbesserungen über Pull -Anfragen hinzuzufügen. Alle Pull -Anfragen müssen mit einem Problem verknüpft sein.
Dieses Projekt ist unter der MIT -Lizenz lizenziert.