NLog Target for Azure ServiceBus EventHub
You can install this target using NuGet.
Install-Package nlog.targets.azureeventhub
See the included demo project to see how you can use this NLog target to send your log messages to Azure ServiceBus Event Hub.
See below for sample NLog configuration.
-
EventHubConnectionString is a required parameter. You should create a Shared Access Signature with Send Permissions
-
EventHubPath is a required parameter. This should be name of your EventHub
-
PartitionKey is optional pararmeter. If you don't specify this parameter the messages sent to EventHub will be distributed among event hub partitions in a round robin manner.
<extensions> <add assembly="NLog.Targets.AzureEventHub"/> </extensions> <variable name="DefaultLayout" value="${longdate} | ${level:uppercase=true:padding=5} | ${message} | ${exception:format=type,tostring}" /> <targets> <target name="eh" type="AzureEventHub" layout="${DefaultLayout}" EventHubConnectionString="Endpoint=sb://yournamespace/;SharedAccessKeyName=send;SharedAccessKey=yourkey;TransportType=Amqp" EventHubPath="eventhubname" PartitionKey=""/> <target name="ColorConsole" xsi:type="ColoredConsole" layout="${DefaultLayout}" /> </targets> <rules> <logger name="*" minlevel="Trace" writeTo="ColorConsole,eh" /> </rules>
This package references NLog Version 3.2.0.0
This package also has a dependency on Azure ServieBus SDK 2.6.1