Записывает ли консоль Serilog в файл журнала IIS, если stdoutLogEnabled имеет значение true? - PullRequest
0 голосов
/ 08 января 2019

Я использую Core 2.2 с Serilog через консольный приемник. В местном масштабе это прекрасно работает через Kestrel. Моя консоль открывается, и я получаю тонны журналов. Это меняется, когда я иду в IIS. Если я переключаю stdoutLogEnabled в true и создаю каталог журналов и выдаю ему ACL "Все - изменить", я действительно получаю файл и получаю вывод:

Hosting environment: Production
Content root path: C:\inetpub\wwwroot\mysites\myapp-api
Application started. Press Ctrl+C to shut down.

Но вот и все. Мое приложение выдает 500 ошибок, но ничего не регистрируется. Локально, в моем окне консоли я вижу все эти журналы. Если Serilog входит в консоль через Stdout, то в чем проблема?

Кроме того, я попытался добавить приемник файлов и настроить его, но не смог заставить Serilog создать файл. Я думаю, может быть, я неправильно понял путь? Я предполагаю, что, если я получу вышеупомянутый журнал, ACL не проблема, и Serilog должен быть в состоянии написать. Но это другая проблема.

Если это имеет значение, я включил <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> в своем веб-проекте.

Serilog Config:

  "Serilog": {
    "MinimumLevel": {
      "Default": "Warning",
      "Override": {
        "Microsoft": "Warning",
        "System": "Warning",
        "Microsoft.AspNetCore.Authentication": "Information"
      }
    },
    // Console logger. Use Web.Config to see this.
    "WriteTo:ConsoleSublogger": {
      "Name": "Logger",
      "Args": {
        "configureLogger": {
          "WriteTo": [
            {
              "Name": "LiterateConsole",
              "Args": {
                "outputTemplate": "DevConf [{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}",
                "theme": "Code"
              }
            }
          ]
        },
        "restrictedToMinimumLevel": "Debug"
      }
    },
    "Enrich": [
      "FromLogContext",
      // Add full exception details using Serilog.Exceptions https://github.com/RehanSaeed/Serilog.Exceptions.
      "WithExceptionDetails",
      // Add the username and machine name to the logs using Serilog.Enrichers.Environment https://github.com/serilog/serilog-enrichers-environment.
      "WithEnvironmentUserName",
      "WithMachineName",
      // Add the process ID and name to the logs using Serilog.Enrichers.Process https://github.com/serilog/serilog-enrichers-process.
      "WithProcessId",
      "WithProcessName",
      // Add the current thread ID to the logs using Serilog.Enrichers.Thread https://github.com/serilog/serilog-enrichers-thread.
      "WithThreadId"
    ],
    "Properties": {
      "Application": "myapp-api"
    }
  },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...