Yandex.Cloud.Logging
1.2.0
See the version list below for details.
dotnet add package Yandex.Cloud.Logging --version 1.2.0
NuGet\Install-Package Yandex.Cloud.Logging -Version 1.2.0
<PackageReference Include="Yandex.Cloud.Logging" Version="1.2.0" />
<PackageVersion Include="Yandex.Cloud.Logging" Version="1.2.0" />
<PackageReference Include="Yandex.Cloud.Logging" />
paket add Yandex.Cloud.Logging --version 1.2.0
#r "nuget: Yandex.Cloud.Logging, 1.2.0"
#:package Yandex.Cloud.Logging@1.2.0
#addin nuget:?package=Yandex.Cloud.Logging&version=1.2.0
#tool nuget:?package=Yandex.Cloud.Logging&version=1.2.0
Yandex.Cloud.Logging
Yandex.Cloud Logging provider implementation for Microsoft.Extensions.Logging. Library features:
- Supports .NET 8 and .NET 9.
- Supports Blazor.
- Can log HTTP request URL, method IP and username.
- Logs are queued and delivered via background service.
Installation via NuGet 
dotnet add package Yandex.Cloud.Logging
How to use with ASP.NET Core
Register services in Program.cs
:
var builder = WebApplication.CreateBuilder(args);
builder.Logging.AddYandexCloud();
builder.AddSingleton(new Sdk(...)); // register Yandex.Cloud.Sdk with your credentials
If you want to log HTTP request URL, method, IP and username then add package Yandex.Cloud.Logging.AspNetCore
and use method 'AddYandexCloudWithHttp':
var builder = WebApplication.CreateBuilder(args);
builder.Logging.AddYandexCloudWithHttp();
builder.AddSingleton(new Sdk(...)); // register Yandex.Cloud.Sdk with your credentials
Then add logger configuration to the appsettings.json
:
{
"Logging": {
"YandexCloud": {
"FolderId": "<required folder identifier from Yandex.Cloud console>",
"GroupId": "<required group identifier from Yandex.Cloud console>",
"ResourceType": "<optional resource type>",
"ResourceId": "<optional resource identifier>"
}
}
}
You can configure Yandex.Cloud logger via code as well:
var builder = WebApplication.CreateBuilder(args);
builder.Logging.AddYandexCloud(opt =>
{
opt.Credentials = new IamJwtCredentialsProvider(...); // you can specify Yandex.Cloud credentials here if Yandex.Cloud.Sdk is not registered as service
opt.FolderId = "<required folder identifier from Yandex.Cloud console>";
opt.ResourceType = "<optional resource type>";
opt.GroupId = "<required group identifier from Yandex.Cloud console>";
opt.ResourceId = "<optional resource identifier>";
});
builder.Logging.AddYandexCloudWithHttp(); // optional
Customization
You can add custom information to the log payload by implementing IYandexCloudLogEntryProvider
. For example:
public class CustomLogEntryProvider : IYandexCloudLogEntryProvider
{
public void ApplyPayload(Struct payload)
{
payload.Fields["custom"] = Value.ForString("custom string value");
}
}
Then register new payload provider:
var builder = WebApplication.CreateBuilder(args);
builder.Logging.AddYandexCloud()
.AddYandexCloudLogEntryProvider<CustomLogEntryProvider>();
License
This package has MIT license. Refer to the LICENSE for detailed information.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Hosting (>= 8.0.1)
- Yandex.Cloud.SDK (>= 1.4.1)
-
net9.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.4)
- Microsoft.Extensions.Hosting (>= 9.0.4)
- Yandex.Cloud.SDK (>= 1.4.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Yandex.Cloud.Logging:
Package | Downloads |
---|---|
Yandex.Cloud.Logging.AspNetCore
Provides HTTP information for Yandex.Cloud Logging provider. |
GitHub repositories
This package is not used by any popular GitHub repositories.