Initially all NLog targets was bundled into a single nuget-package called NLog.Extensions.AzureStorage. But Microsoft decided to discontinue WindowsAzure.Storage and split into multiple parts. Later Microsoft also decided to discontinue Microsoft.Azure.DocumentDB and so NLog.Extensions.AzureCosmosTable also became deprecated.
Sample Configuration
<extensions>
<add assembly="NLog.Extensions.AzureBlobStorage" />
<add assembly="NLog.Extensions.AzureDataTables" />
<add assembly="NLog.Extensions.AzureQueueStorage" />
<add assembly="NLog.Extensions.AzureEventHub" />
<add assembly="NLog.Extensions.AzureEventGrid" />
<add assembly="NLog.Extensions.AzureServiceBus" />
<add assembly="NLog.Extensions.AzureAccessToken" />
</extensions>
<targets async="true">
<target type="AzureBlobStorage"
name="Azure"
layout="${longdate:universalTime=true} ${level:uppercase=true} - ${logger}: ${message} ${exception:format=tostring}"
connectionString="DefaultEndpointsProtocol=https;AccountName=##accountName##;AccountKey=##accountKey##;EndpointSuffix=core.windows.net"
container="${machinename}"
blobName="${logger}/${date:universalTime=true:format=yy-MM-dd}/${date:universalTime=true:format=HH}.log">
<metadata name="mymeta" layout="mymetavalue" /> <!-- Multiple allowed -->
</target>
<target type="AzureDataTables"
name="AzureTable"
connectionString="DefaultEndpointsProtocol=http;AccountName=##accountName##;AccountKey=##accountKey##;"
layout="${message} ${exception:format=tostring}"
tableName="NlogTable" />
<target type="AzureQueueStorage"
name="AzureQueue"
connectionString="UseDevelopmentStorage=true;"
layout="${longdate:universalTime=true} ${level:uppercase=true} - ${logger}: ${message} ${exception:format=tostring}"
queueName="NlogQueue">
<metadata name="mymeta" layout="mymetavalue" /> <!-- Multiple allowed -->
</target>
<target type="AzureEventHub"
name="AzureEventHub"
connectionString="Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=NLog;SharedAccessKey=EventHub"
layout="${longdate:universalTime=true} ${level:uppercase=true} - ${logger}: ${message} ${exception:format=tostring}"
eventHubName="NlogHub"
PartitionKey="0">
<messageProperty name="exceptiontype" layout="${exception:format=type}" /> <!-- Multiple allowed -->
</target>
<target type="AzureServiceBus"
name="AzureServiceBus"
connectionString="Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=NLog;SharedAccessKey=ServiceBus"
layout="${longdate:universalTime=true} ${level:uppercase=true} - ${logger}: ${message} ${exception:format=tostring}"
label="Message from NLog"
topiceName="NLogTopic">
<messageProperty name="exceptiontype" layout="${exception:format=type}" /> <!-- Multiple allowed -->
</target>
</targets>