Provideurs de journalisation des télégrammes pour la journalisation du Serilog et .NET standard.
Qu'est-ce que le télégramme? Que dois-je faire ici? Telegram est une application de messagerie en mettant l'accent sur la vitesse et la sécurité, il est super rapide, simple et gratuit. Vous pouvez utiliser Telegram sur tous vos appareils en même temps - vos messages se synchronisent de manière transparente sur n'importe quel nombre de vos téléphones, tablettes ou ordinateurs. Telegram compte plus de 500 millions d'utilisateurs actifs mensuels et est l'une des 10 applications les plus téléchargées au monde.
Parce qu'il est très confortable - vous pouvez recevoir des messages importants directement sur votre smartphone ou votre ordinateur portable.
Pour envoyer des messages de journal dans la chaîne Telegram ou le chat, vous avez besoin de créer un bot télégramme auparavant. Ici, vous pouvez trouver comment le faire. Après avoir créé Bot, ajoutez-le à la chaîne avec le rôle d'administrateur et permettez à BOT de publier des messages.
En télégramme, il existe deux types de canaux: public et privé. Pour le canal public, vous pouvez utiliser le nom du canal comme Chatid dans la configuration.
Pour le canal privé, vous pouvez utiliser @JSonDumpBot pour obtenir l'ID de canal privé. Il suffit de transmettre tout message de Private Chanlto ce bot. Des informations supplémentaires que vous pouvez trouver ici.
N'oubliez pas d'ajouter votre bot en tant qu'administrateur avec la permission des messages d'écriture de canal.
X.extensions.logging.telegram est le fournisseur de journalisation pour la journalisation .NET standard.
Vous pouvez configurer le fournisseur de journalisation télégramme par code ou par fichier de configuration:
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": "*"
}
et l'objet d'iconfiguration de pass à la méthode d'extensions
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>(); });
Les développeurs peuvent désormais utiliser leur propre implémentation pour écrire des données pour télégramme. L'écrivain personnalisé doit implémenter l'interface IlogWriter :
var customLogWriter = new CustomLogWriter ( ) ;
logBuilder . AddTelegram ( options , customLogWriter ) ;Pour l'implémentation de la mise en forme de messages personnalisés, ItelegrammesSageFormatter peut être utilisé maintenant.
private ITelegramMessageFormatter CreateFormatter ( string name )
{
return new CustomTelegramMessageFormatter ( name ) ;
}
logBuilder . AddTelegram ( options , CreateFormatter ) ;Pour utiliser le format de message personnalisé Delegate Func <String, IteLegrammesSageFormatter> doit être transmis à la méthode des extensions AddTelegram. Le délégué doit être utilisé car le formateur doit savoir quelle catégorie est utilisée pour rendre le message.
X.serilog.sinks.telegram est un évier de selelilog open-source qui vous permet d'envoyer des événements de journal à Telegram. C'est un moyen pratique d'intégrer Telegram en tant que sortie de journalisation, vous permettant de recevoir des informations de journal importantes directement dans votre chat.
Journalisation en temps réel : l'évier offre la possibilité d'envoyer des événements de journal à un canal télégramme en temps réel, en vous assurant que vous pouvez rester à jour avec le comportement de votre application et tout problème au fur et à mesure qu'ils surviennent.
Formatage personnalisable : vous pouvez configurer le format des messages de journal envoyés au canal télégramme, vous permettant de les adapter à vos préférences et exigences spécifiques.
Filtrage : l'évier prend en charge les événements de filtrage du filtrage avant d'être envoyés sur le canal télégramme, garantissant que seules les informations pertinentes sont partagées.
Envoi asynchrone : les événements de journal sont envoyés de manière asynchrone sur le canal Telegram, minimisant l'impact potentiel sur les performances de votre application.
Configuration facile : la configuration de l'évier pour fonctionner avec votre canal télégramme est simple, et vous pouvez trouver des informations complètes dans le wiki de configuration.
Pour commencer à utiliser le puits x.serilog.sinks.telegram, suivez ces étapes:
dotnet add package X.Serilog.Sinks.Telegram Log . Logger = new LoggerConfiguration ( )
. WriteTo . TelegramCore (
token : botToken ,
chatId : loggingChatId ,
logLevel : LogEventLevel . Verbose )
. WriteTo . Console ( )
. CreateLogger ( ) ;Pour des options de configuration plus détaillées, veuillez vous référer au wiki de configuration.
Ce référentiel comprend plusieurs exemples de projets qui montrent comment utiliser les deux bibliothèques dans divers scénarios. Ces exemples peuvent être utiles si vous commencez ou cherchez à utiliser une fonctionnalité spécifique.
N'hésitez pas à ajouter toutes les améliorations que vous souhaitez via les demandes de traction. Toutes les demandes de traction doivent être liées à un problème.
Ce projet est autorisé sous la licence du MIT.