Gibt es einen Low-Level-TCP-Appender für log4net?

9

Ich habe den UDPAppender verwendet, um Protokolle an logstash . Ich möchte Failover des Logstash-Servers durch DNS erreichen können.

Implizit erkennt der UDPAppender nicht, ob der ferne UDP-Port verfügbar ist oder nicht, aber selbst wenn dies der Fall ist, wenn ich ihn mit einem DNS-Namen für remoteAddress , wird während der Initialisierung in die IP-Adresse aufgelöst und als IP-Adresse in der Eigenschaft RemoteAddresses aufgezeichnet. Ich bin mir des RemotingAppender bewusst, aber das scheint logstash nicht zu gefallen da der Logstash-TCP-Eingang das .NET-Remoteprotokoll nicht implementiert, und es scheint, als würde es das gleiche Problem der Auflösung der Remote-IP-Adresse durch DNS nur bei dem Initialisierungsschritt erleiden.

Ich überlege mir, meinen eigenen Appender zu implementieren, indem ich den UDPAppender entweder mit einem Ping umbringe oder den RemotingAppender kopiere, indem ich die Wiederverbindung über den DNS-Namen bearbeite. Gibt es so etwas schon?

    
Rob Hinchliff 29.08.2014, 06:58
quelle

2 Antworten

0

Haben Sie versucht, log4stash ? Es ist ein log4net Appender, der einige ähnliche Funktionen wie logstash hat und Ihre Logs direkt in Elasticsearch sendet.
Auf diese Weise haben Sie einen "Fehlerpunkt" auf dem Weg zur Elasticsearch (keine Notwendigkeit, Logstash zu verwenden).

Und wenn Sie bei TCPAppender bleiben wollen,
Sie können den Code von UDPAppender ohne großen Aufwand in einen TCP-Code übertragen .
Ich habe es einmal gemacht, aber leider kann ich den Code nicht veröffentlichen.

    
jurl 25.07.2016 08:50
quelle
-3

Ich habe hier gefunden, der UdpAppender ist nahe am Ende

SDK-Referenz

UdpAppender

Ausführliche Informationen finden Sie im SDK-Referenzeintrag log4net.Appender.UdpAppender.

Das folgende Beispiel zeigt, wie der UdpAppender konfiguriert wird, um Ereignisse an eine RemoteAddress auf dem angegebenen RemotePort zu senden.

%Vor%     
CheGueVerra 15.05.2015 00:10
quelle

Tags und Links