C# .Net8 WinFormsApp使用日志Serilog组件

  最近C# .Net8 WinFormsApp使用日志Serilog组件,找了一堆的资料,发现坑太多,记录下来方便以后参考。

   使用Serilog特别需要注意的事,它是一个组件系列,不同接口方法需要不同的包,没有添加正确,编译时就会报错。

    我的需求是,在Winform界面中,使用Serilog组件输出日志,但日志同时需要显示在窗体中,方便运行监控。根据豆包推荐,使用TextBox替换RichBox,配置Multiline=true,ScrollBars=Both,可以加快显示速度。

  本例程中,需要使用的包如下:

  <ItemGroup>
    <None Update="serilog.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
	  <PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.8" />
	  <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.8" />
	  <PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.8" />
	  <PackageReference Include="Serilog" Version="4.3.0" />
	  <PackageReference Include="Serilog.Enrichers.Environment" Version="3.0.1" />
	  <PackageReference Include="Serilog.Enrichers.Thread" Version="4.0.0" />
	  <PackageReference Include="Serilog.Extensions.Hosting" Version="9.0.0" />
	  <PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
	  <PackageReference Include="Serilog.Settings.Configuration" Version="9.0.0" />
	  <PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
	  <PackageReference Include="Serilog.Sinks.Debug" Version="3.0.0" />
	  <PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
	  <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
	  <PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
	  <PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.8" />
  </ItemGroup>

配置文件使用serilog.json,较新则覆盖,内容如下:

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "System": "Warning"
      }
    },
    "WriteTo": [
      {
        "Name": "Console",
        "Args": {
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level}] {Message}{NewLine}{Exception}",
          "restrictedToMinimumLevel": "Information"
        }
      },
      {
        "Name": "Debug",
        "Args": {
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level}] {Message}{NewLine}{Exception}"
        }
      },
      {
        "Name": "File",
        "Args": {
          "path": "logs\\log-.txt",
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message:lj}{NewLine}{Exception}",
          "restrictedToMinimumLevel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值