LaCorridor.Logging.AzureEventHubs
0.1.5
dotnet add package LaCorridor.Logging.AzureEventHubs --version 0.1.5
NuGet\Install-Package LaCorridor.Logging.AzureEventHubs -Version 0.1.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LaCorridor.Logging.AzureEventHubs" Version="0.1.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LaCorridor.Logging.AzureEventHubs --version 0.1.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LaCorridor.Logging.AzureEventHubs, 0.1.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LaCorridor.Logging.AzureEventHubs as a Cake Addin #addin nuget:?package=LaCorridor.Logging.AzureEventHubs&version=0.1.5 // Install LaCorridor.Logging.AzureEventHubs as a Cake Tool #tool nuget:?package=LaCorridor.Logging.AzureEventHubs&version=0.1.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Logging.EventHubs
Logging.EventHubs implements logger providers for .NET Core 2.0 applications. It intends to provide a simple way to write .NET Core application logs into EventHubs.
Getting Started
Install the package
- Install the NuGet Package by .NET CLI:
dotnet add package LaCorridor.Logging.AzureEventHubs
Or
- Install the NuGet Package by Package Manager:
Install-Package LaCorridor.Logging.AzureEventHubs
Inject the logger
- For .NET Core 2.0 Websites, Update
BuildWebHost
method in Program.cs, appending calling toConfgureLogging()
:
using LaCorridor.Logging.AzureEventHubs;
namespace WebExample
{
public class Program
{
// ... Main methods ...
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging(builder =>
{
builder.AddEventHub(
"EventHub connection string",
LogLevel.Warning);
})
.UseStartup<Startup>()
.Build();
}
}
- For .NET Core 1.x Websites, Update
Configure
method in 'Startup.cs':
using LaCorridor.Logging.AzureEventHubs;
// ...
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
loggerFactory.AddEventHub(
"EvetHub connection string",
LogLevel.Debug
);
// ...
}
- For .NET Core Console Application, there are various of ways to do the injection. Here's an example:
class Program
{
static void Main(string[] args)
{
ServiceCollection services = new ServiceCollection();
services.AddTransient<Runner>();
services.AddSingleton<ILoggerFactory, LoggerFactory>();
services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
services.AddLogging(builder => builder.SetMinimumLevel(LogLevel.Debug)
.AddEventHub("EventHubs connection string", LogLevel.Debug));
ServiceProvider serviceProvider = services.BuildServiceProvider();
Runner runner = serviceProvider.GetService<Runner>();
runner.Run();
Console.WriteLine("Press any key to continue . . .");
Console.ReadKey(true);
}
}
Runner is a class that consumes ILogger<Runner>:
public class Runner
{
ILogger _logger;
public Runner(ILogger<Runner> logger)
{
_logger = logger;
}
public void Run()
{
_logger.LogDebug("A Debug Message");
}
}
Use configuration file
Providing connection string through configuration file is supported. Take .NET Core 2.0 ASP.NET Website as an example, Program.cs:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostContext, builder) =>
{
builder.AddEventHub(hostContext.Configuration);
})
.UseStartup<Startup>()
.Build();
Example of appsettings.json:
{
"Logging": {
"IncludeScopes": true,
"LogLevel": {
"Default": "Debug"
},
"EventHubs": {
"ConnectionString": "EventHubs connection string",
"LogLevel": "Error"
}
}
}
Details for settings:
Name | Type | Required | Value | Description |
---|---|---|---|---|
ConnectionString | String | yes | EventHubs Connection String | EventHubs connection you can get from the Azure portal or the EventHub Viewer. |
LogLevel | Enum | no | One of the following: Trace | Debug | Information | Warning | Error | Critical | None |
Minimal logging level. In those values, Trace provides most chatty logs while None provides no logs. |
Consumes the logger
- Get the ILogger service, for example, in HomeController:
public class HomeController : Controller
{
private readonly ILogger _logger;
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
// ...
}
- Use the logger:
public class HomeController : Controller
{
// ...
public IActionResult Index()
{
_logger.LogWarning("Entering Index.");
return View();
}
// ...
}
Result Example:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 1.3
- Microsoft.Azure.EventHubs (>= 1.0.3)
- Microsoft.Extensions.Configuration.Abstractions (>= 1.1.2)
- Microsoft.Extensions.Logging (>= 1.1.2)
- Microsoft.Extensions.Logging.Abstractions (>= 1.1.2)
- NETStandard.Library (>= 1.6.1)
- Newtonsoft.Json (>= 10.0.3)
-
.NETStandard 2.0
- Microsoft.Azure.EventHubs (>= 1.0.3)
- Microsoft.Extensions.Configuration.Abstractions (>= 2.0.0)
- Microsoft.Extensions.Logging (>= 2.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 2.0.0)
- Newtonsoft.Json (>= 10.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.