2017-11-20 2 views
0

Ich habe einen .net-Kerndienst, der Daten von einem MEMSQL-Server abruft und zum Client zurückkehrt. Die Abfragen, die am Dienst generiert werden, müssen jedoch im Kafka-Cluster protokolliert werden.Von .net Kerndienst mit Confluent.Kafka in Kafka schreiben

Ich habe versucht, Confluent.Kafka-Paket zu installieren und die Protokollierung, es funktioniert gut, wenn lokal ausgeführt wird. Aber in dem Container kann der Dienst die folgenden Fehler nicht protokollieren und die folgenden Fehler generieren:

warning NU1701: Package 'librdkafka.redist 0.9.5' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project. 
The type initializer for 'Confluent.Kafka.Impl.LibRdKafka' threw an exception. 

Der Container wird auf einem LINUX-Computer ausgeführt. Im Grunde muss ich eine Version von Confluent.Kafka herausfinden, die mit .netcore 2.0 funktioniert und eine, die nicht von .NETFramework v4.6 abhängt.

Antwort

1

Diese Warnung ist harmlos - sie tritt auf, weil librdkafka.redist keinen verwalteten Code enthält und daher nuget nicht bestimmen kann, was das Zielframework ist. Diese Warnung wurde in der kommenden Version behoben, die wir innerhalb einer Woche veröffentlichen sollten.

+0

Ich habe versucht, die Warnung zu unterdrücken, indem ich csproj wie in einigen Foren vorgeschlagen bearbeite. Das hat die Warnung beendet, aber der Fehler wird generiert, wenn versucht wird, vom Container aus zu protokollieren. – cmathews

0

Aktualisierung auf das neueste Confluent Package 0.11.3 behebt das Problem. Jetzt kann der Dienst über den Andock-Container auf den Kafka-Cluster zugreifen.

Verwandte Themen