我想将 Serilog 与接收器 AzureEventHub 一起使用,但我找不到任何有关如何设置它的文档。
我正在运行一个 ASP.NET MVC Core 项目。
任何人都有想法或可以提供解决方案的线索?
我想将 Serilog 与接收器 AzureEventHub 一起使用,但我找不到任何有关如何设置它的文档。
我正在运行一个 ASP.NET MVC Core 项目。
任何人都有想法或可以提供解决方案的线索?
当然,在该接收器上有更多文档会很棒,但整体接收器配置非常标准,因为大多数接收器通常在 Serilog 的LoggerSinkConfiguration类上公开扩展方法,与 Visual Studio 中的智能感知一起,可以为您提供所需的一切配置的角度。
只要确保你安装Serilog和Serilog.Sinks.AzureEventHub水槽。
<ItemGroup>
<PackageReference Include="Serilog" Version="2.8.0" />
<PackageReference Include="Serilog.Sinks.AzureEventHub" Version="4.1.0" />
</ItemGroup>
然后在您的应用程序的开头,创建一个EventHubClient您可以传递的WriteTo.AzureEventHub...您只需要一个有效的连接字符串。
using Microsoft.Azure.EventHubs;
using Serilog;
namespace SerilogAndAzureEventHub
{
class Program
{
static void Main(string[] args)
{
EventHubClient eventHubClient =
EventHubClient.CreateFromConnectionString(
"Endpoint=sb://a;SharedAccessKeyName=b;SharedAccessKey=c;EntityPath=d");
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.AzureEventHub(eventHubClient)
.CreateLogger();
}
}
}