Writes to a queue in Windows Azure Queue Storage.
Package - Serilog.Sinks.AzureQueueStorage
Modeled After - Serilog.Sinks.AzureTableStorage
Example Use Case - Log messages to an Azure storage queue and process asynchronously using an Azure Function.
var storage = CloudStorageAccount.FromConfigurationSetting("MyStorage");
var log = new LoggerConfiguration()
.WriteTo.AzureQueueStorage(storage)
.CreateLogger();
It is possible to configure the sink using Serilog.Settings.Configuration by specifying the queue name and connection string in appsettings.json
:
"Serilog": {
"WriteTo": [
{"Name": "AzureQueueStorage", "Args": {"storageQueueName": "", "connectionString": ""}}
]
}
JSON configuration must be enabled using ReadFrom.Configuration()
; see the documentation of the JSON configuration package for details.
To use the file sink with the Serilog.Settings.AppSettings package, first install that package if you haven't already done so:
Install-Package Serilog.Settings.AppSettings
Instead of configuring the logger in code, call ReadFrom.AppSettings()
:
var log = new LoggerConfiguration()
.ReadFrom.AppSettings()
.CreateLogger();
In your application's App.config
or Web.config
file, specify the file sink assembly and required path format under the <appSettings>
node:
<configuration>
<appSettings>
<add key="serilog:using:AzureQueueStorage" value="Serilog.Sinks.AzureQueueStorage" />
<add key="serilog:write-to:AzureQueueStorage.connectionString" value="DefaultEndpointsProtocol=https;AccountName=ACCOUNT_NAME;AccountKey=KEY;EndpointSuffix=core.windows.net" />
<add key="serilog:write-to:AzureQueueStorage.storageQueueName" value="YOUR_STORAGE_QUEUE_NAME" />