{"id":27273308,"url":"https://github.com/jdetmar/nlog.extensions.azurestorage","last_synced_at":"2025-04-11T14:25:41.075Z","repository":{"id":17688779,"uuid":"82496520","full_name":"JDetmar/NLog.Extensions.AzureStorage","owner":"JDetmar","description":"NLog Target for Azure Storage. Uses NLog batch write to optimize writes to Storage.","archived":false,"fork":false,"pushed_at":"2024-06-24T05:13:46.000Z","size":346,"stargazers_count":31,"open_issues_count":7,"forks_count":19,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-30T00:36:25.999Z","etag":null,"topics":["azure-","azure-storage","blob-storage","nlog-target","table-storage"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JDetmar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-19T23:14:14.000Z","updated_at":"2024-06-24T22:52:22.000Z","dependencies_parsed_at":"2023-01-13T19:27:11.953Z","dependency_job_id":"9349750a-1882-494b-832e-81f12fe2722f","html_url":"https://github.com/JDetmar/NLog.Extensions.AzureStorage","commit_stats":{"total_commits":130,"total_committers":14,"mean_commits":9.285714285714286,"dds":0.6384615384615384,"last_synced_commit":"fe64a37a0cd393886e8cdb0e4d0389559c9edc6e"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JDetmar%2FNLog.Extensions.AzureStorage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JDetmar%2FNLog.Extensions.AzureStorage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JDetmar%2FNLog.Extensions.AzureStorage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JDetmar%2FNLog.Extensions.AzureStorage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JDetmar","download_url":"https://codeload.github.com/JDetmar/NLog.Extensions.AzureStorage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248418701,"owners_count":21100193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-","azure-storage","blob-storage","nlog-target","table-storage"],"created_at":"2025-04-11T14:25:40.472Z","updated_at":"2025-04-11T14:25:41.055Z","avatar_url":"https://github.com/JDetmar.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NLog Targets for Azure Storage [![AppVeyor](https://img.shields.io/appveyor/ci/JDetmar/nlog-extensions-azurestorage.svg)](https://ci.appveyor.com/project/JDetmar/nlog-extensions-azurestorage)\n\n![logo](logo64.png?raw=true)\n\n| Package Name                          | NuGet                 | Description | Documentation |\n| ------------------------------------- | :-------------------: | ----------- | ------------- |\n| **NLog.Extensions.AzureBlobStorage**  | [![NuGet](https://img.shields.io/nuget/v/NLog.Extensions.AzureBlobStorage.svg)](https://www.nuget.org/packages/NLog.Extensions.AzureBlobStorage/) | Azure Blob Storage | [![](https://img.shields.io/badge/Readme-Docs-blue)](src/NLog.Extensions.AzureBlobStorage/README.md) | \n| **NLog.Extensions.AzureDataTables**   | [![NuGet](https://img.shields.io/nuget/v/NLog.Extensions.AzureDataTables.svg)](https://www.nuget.org/packages/NLog.Extensions.AzureDataTables/) | Azure Table Storage or Azure CosmosDb Tables | [![](https://img.shields.io/badge/Readme-Docs-blue)](src/NLog.Extensions.AzureDataTables/README.md) | \n| **NLog.Extensions.AzureEventHub**     | [![NuGet](https://img.shields.io/nuget/v/NLog.Extensions.AzureEventHub.svg)](https://www.nuget.org/packages/NLog.Extensions.AzureEventHub/) | Azure EventHubs | [![](https://img.shields.io/badge/Readme-Docs-blue)](src/NLog.Extensions.AzureEventHub/README.md) | \n| **NLog.Extensions.AzureEventGrid**    | [![NuGet](https://img.shields.io/nuget/v/NLog.Extensions.AzureEventGrid.svg)](https://www.nuget.org/packages/NLog.Extensions.AzureEventGrid/) | Azure Event Grid | [![](https://img.shields.io/badge/Readme-Docs-blue)](src/NLog.Extensions.AzureEventGrid/README.md) | \n| **NLog.Extensions.AzureQueueStorage** | [![NuGet](https://img.shields.io/nuget/v/NLog.Extensions.AzureQueueStorage.svg)](https://www.nuget.org/packages/NLog.Extensions.AzureQueueStorage/) | Azure Queue Storage | [![](https://img.shields.io/badge/Readme-Docs-blue)](src/NLog.Extensions.AzureQueueStorage/README.md) | \n| **NLog.Extensions.AzureServiceBus**   | [![NuGet](https://img.shields.io/nuget/v/NLog.Extensions.AzureServiceBus.svg)](https://www.nuget.org/packages/NLog.Extensions.AzureServiceBus/) | Azure Service Bus | [![](https://img.shields.io/badge/Readme-Docs-blue)](src/NLog.Extensions.AzureServiceBus/README.md) | \n| **NLog.Extensions.AzureAccessToken**  | [![NuGet](https://img.shields.io/nuget/v/NLog.Extensions.AzureAccessToken.svg)](https://www.nuget.org/packages/NLog.Extensions.AzureAccessToken/) | Azure App Authentication Access Token for Managed Identity | [![](https://img.shields.io/badge/Readme-Docs-blue)](src/NLog.Extensions.AzureAccessToken/README.md) | \n\nInitially all NLog targets was bundled into a single nuget-package called [NLog.Extensions.AzureStorage](https://www.nuget.org/packages/NLog.Extensions.AzureStorage/).\nBut Microsoft decided to discontinue [WindowsAzure.Storage](https://www.nuget.org/packages/WindowsAzure.Storage/) and split into multiple parts.\nLater Microsoft also decided to discontinue [Microsoft.Azure.DocumentDB](https://www.nuget.org/packages/Microsoft.Azure.DocumentDB.Core/)\nand so [NLog.Extensions.AzureCosmosTable](https://www.nuget.org/packages/NLog.Extensions.AzureCosmosTable/) also became deprecated.\n\n## Sample Configuration\n\n```xml\n\u003cextensions\u003e\n  \u003cadd assembly=\"NLog.Extensions.AzureBlobStorage\" /\u003e \n  \u003cadd assembly=\"NLog.Extensions.AzureDataTables\" /\u003e \n  \u003cadd assembly=\"NLog.Extensions.AzureQueueStorage\" /\u003e \n  \u003cadd assembly=\"NLog.Extensions.AzureEventHub\" /\u003e \n  \u003cadd assembly=\"NLog.Extensions.AzureEventGrid\" /\u003e \n  \u003cadd assembly=\"NLog.Extensions.AzureServiceBus\" /\u003e \n\u003c/extensions\u003e\n\n\u003ctargets async=\"true\"\u003e\n    \u003ctarget type=\"AzureBlobStorage\"\n            name=\"Azure\"\n            layout=\"${longdate:universalTime=true} ${level:uppercase=true} - ${logger}: ${message} ${exception:format=tostring}\"\n            connectionString=\"DefaultEndpointsProtocol=https;AccountName=##accountName##;AccountKey=##accountKey##;EndpointSuffix=core.windows.net\"\n            container=\"${machinename}\"\n            blobName=\"${logger}/${date:universalTime=true:format=yy-MM-dd}/${date:universalTime=true:format=HH}.log\"\u003e\n                \u003cmetadata name=\"mymeta\" layout=\"mymetavalue\" /\u003e   \u003c!-- Multiple allowed --\u003e\n    \u003c/target\u003e\n    \u003ctarget type=\"AzureDataTables\"\n            name=\"AzureTable\"\n            connectionString=\"DefaultEndpointsProtocol=http;AccountName=##accountName##;AccountKey=##accountKey##;\"\n            layout=\"${message} ${exception:format=tostring}\"\n            tableName=\"NlogTable\" /\u003e\n    \u003ctarget type=\"AzureQueueStorage\"\n            name=\"AzureQueue\"\n            connectionString=\"UseDevelopmentStorage=true;\"\n            layout=\"${longdate:universalTime=true} ${level:uppercase=true} - ${logger}: ${message} ${exception:format=tostring}\"\n            queueName=\"NlogQueue\"\u003e\n                \u003cmetadata name=\"mymeta\" layout=\"mymetavalue\" /\u003e   \u003c!-- Multiple allowed --\u003e\n    \u003c/target\u003e\n    \u003ctarget type=\"AzureEventHub\"\n            name=\"AzureEventHub\"\n            connectionString=\"Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=NLog;SharedAccessKey=EventHub\"\n            layout=\"${longdate:universalTime=true} ${level:uppercase=true} - ${logger}: ${message} ${exception:format=tostring}\"\n            eventHubName=\"NlogHub\"\n            PartitionKey=\"0\"\u003e\n                \u003cmessageProperty name=\"exceptiontype\" layout=\"${exception:format=type}\" /\u003e   \u003c!-- Multiple allowed --\u003e\n    \u003c/target\u003e\n    \u003ctarget type=\"AzureServiceBus\"\n            name=\"AzureServiceBus\"\n            connectionString=\"Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=NLog;SharedAccessKey=ServiceBus\"\n            layout=\"${longdate:universalTime=true} ${level:uppercase=true} - ${logger}: ${message} ${exception:format=tostring}\"\n            label=\"Message from NLog\"\n            topiceName=\"NLogTopic\"\u003e\n                \u003cmessageProperty name=\"exceptiontype\" layout=\"${exception:format=type}\" /\u003e   \u003c!-- Multiple allowed --\u003e\n    \u003c/target\u003e\n\u003c/targets\u003e\n```\n\n## License\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FJDetmar%2FNLog.Extensions.AzureStorage.svg?type=small)](https://app.fossa.io/projects/git%2Bgithub.com%2FJDetmar%2FNLog.Extensions.AzureStorage?ref=badge_small)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdetmar%2Fnlog.extensions.azurestorage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdetmar%2Fnlog.extensions.azurestorage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdetmar%2Fnlog.extensions.azurestorage/lists"}