asp.net-core-mvc - 如何使用 AzureEventHub 设置 Serilog
问题描述
我想将 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();
}
}
}
推荐阅读
- amazon-web-services - 从本地 Web 服务器连接到 DynamoDB
- laravel - Vue组件不显示商店数据
- c - 是否可以使用 EPOLL 向多个客户端发送任务
- flask - Flask HTTP 标头接口是否对获取和设置都不区分大小写?
- c# - 401 未经授权使用 C# HttpClient 库
- javascript - Js过滤具有1个输入的表的2行
- assembly - 使用 ASM 发出屏蔽的 vmovapd (AVX-512) 指令的正确方法是什么?
- python-3.x - 无法在scrapy spider中导入items.py
- python - 在python中使用函数返回true或false
- forms - 尝试通过setter读取springboot项目中jsp表单提交返回的值,并使用组合调用另一个java类