Package - Serilog.Sinks.Udp | Plateformes - .NET Framework 4.6.1, .NET Standard 1.3/2.0/2.1
Log4jTextFormatter
Log4netTextFormatter
Dans l'exemple suivant, le récepteur enverra les packages UDP sur le réseau à localhost sur le port 7071.
Serilog . ILogger log = new LoggerConfiguration ( )
. MinimumLevel . Verbose ( )
. WriteTo . Udp ( "localhost" , 7071 , AddressFamily . InterNetwork )
. CreateLogger ( ) ;
Utilisé conjointement avec Serilog.Settings.Configuration, le récepteur peut être configuré dans appsettings.json
.
{
"Serilog" : {
"MinimumLevel" : " Verbose " ,
"WriteTo" : [
{
"Name" : " Udp " ,
"Args" : {
"remoteAddress" : " localhost " ,
"remotePort" : 7071 ,
"family" : " InterNetwork "
}
}
]
}
}
Utilisé conjointement avec Serilog.Settings.AppSettings, le récepteur peut être configuré en XML <appSettings>
.
<? xml version = " 1.0 " encoding = " utf-8 " ?>
< configuration >
< appSettings >
< add key = " serilog:minimum-level " value = " Verbose " />
< add key = " serilog:using:Udp " value = " Serilog.Sinks.Udp " />
< add key = " serilog:write-to:Udp " />
< add key = " serilog:write-to:Udp.remoteAddress " value = " localhost " />
< add key = " serilog:write-to:Udp.remotePort " value = " 7071 " />
< add key = " serilog:write-to:Udp.family " value = " InterNetwork " />
</ appSettings >
</ configuration >
La production d’événements de journaux ne représente que la moitié de l’histoire. À moins que vous ne les consommiez dans un but qui vous profite en matière de développement ou de production, il n’est vraiment pas nécessaire de les produire en premier lieu.
En développement, j'ai envoyé des packages UDP à l'adresse de bouclage et j'ai utilisé Log2Console pour les visualiser. Il prend en charge les récepteurs UDP et me permet de filtrer et de rechercher en fonction de mes besoins.
Passer au niveau supérieur, c'est lorsque vous, en tant qu'équipe, acceptez d'envoyer les événements du journal à une adresse de multidiffusion, les rendant ainsi accessibles à tous les membres de l'équipe. Cela peut être bénéfique pour l'assurance qualité qui souhaite surveiller les événements de journal de toutes les instances de votre application en cours d'exécution.
Le formateur d’événements est un modèle de sortie sous stéroïdes. Il a la responsabilité de transformer un seul événement de journal en une représentation textuelle. Il peut sérialiser l'événement de journal en JSON, XML ou tout autre élément correspondant aux attentes du destinataire.
Le récepteur est livré préchargé avec deux formateurs d'événements basés sur XML. L'un correspond au schéma log4j attendu par Log2Console et l'autre correspond au schéma log4net attendu par Log4View.
Log4jTextFormatter
L'événement de journal est formaté selon le schéma XML log4j attendu par Log2Console.
< log4j : event logger = " Some.Serilog.Context " timestamp = " 1184286222308 " level = " ERROR " thread = " 1 " >
< log4j : message >Something failed</ log4j : message >
< log4j : throwable >An exception describing the failure< log4j : throwable >
</ log4j : event >
Log4netTextFormatter
L'événement de journal est formaté selon le schéma XML log4net attendu par Log4View.
< log4net : event logger = " Some.Serilog.Context " timestamp = " 2017-09-01T22:00:00.000+02:00 " level = " DEBUG " thread = " 1 " username = " MACHINEusername " domain = " dotnet " >
< log4net : locationInfo class = " Some.Serilog.Context " method = " System.String Get(Int32) " />
< log4net : properties >
< log4net : data name = " log4net:HostName " value = " MACHINE " />
</ log4net : properties >
< log4net : message >Something went wrong.</ log4net : message >
< log4net : throwable >System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.</ log4net : throwable >
</ log4net : event >
Les exemples d'applications suivants illustrent l'utilisation de ce récepteur dans divers contextes :
Si vous souhaitez inclure le récepteur UDP dans votre projet, vous pouvez l'installer directement à partir de NuGet.
Pour installer le récepteur, exécutez la commande suivante dans la console du gestionnaire de packages :
PM> Install-Package Serilog.Sinks.Udp
Si ce projet vous a aidé à rester productif et à économiser de l'argent, vous pouvez m'offrir une tasse de café :)
Merci JetBrains pour votre importante initiative visant à soutenir la communauté open source avec des licences gratuites pour vos produits.