首页 > 解决方案 > 记录到 Seq 在 IIS Express 中可以正常工作,但在 IIS 中却不行

问题描述

我有一个 ASP.Net Core 应用程序,我在其中配置了 Seq 和 Serilog。当我在 Kestrel 或 IIS Express 中运行应用程序时,日志出现在 Seq 服务器中(在 http://localhost:5341/ 的 Docker 中运行)

当我在 Windows 10 上的 IIS 中运行相同的应用程序时,Seq 中没有出现日志。

以下是应用程序池的设置:

在此处输入图像描述

这是我的 appsettings.json

{
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "MyApp": "Server=.;Database=MyApp;User ID=sa;Password=letmein123456;"
  },
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information"
      }
    },
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
    "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId", "WithAssemblyName", "WithAssemblyVersion" ],
    "WriteTo": [
      { "Name": "Console" },
      { "Name": "Debug" },
      {
        "Name": "File",
        "Args": {
          "path": "Logs/log-.log",
          "rollingInterval": "Day",
          "shared": true
        }
      },
      {
        "Name": "Seq",
        "Args": {
          "serverUrl": "http://localhost:5341"
        }
      }
    ],
    "preserveStaticLogger": false,
    "Properties": {
      "Application": "My.Test.App"
    }
  }
}

这就是我设置 Serilog/Seq 的方式:

    var configuration = new ConfigurationBuilder()
        .AddJsonFile("appsettings.json")
        .Build();

    Log.Logger = new LoggerConfiguration()
        .ReadFrom.Configuration(configuration)
        .CreateLogger();

任何线索我做错了什么?

标签: c#iisserilogseq

解决方案


推荐阅读