Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Serilog在使用sc.exe安装服务后不会写入文件_Windows_Asp.net Core_.net Core_Service_Serilog - Fatal编程技术网

Windows Serilog在使用sc.exe安装服务后不会写入文件

Windows Serilog在使用sc.exe安装服务后不会写入文件,windows,asp.net-core,.net-core,service,serilog,Windows,Asp.net Core,.net Core,Service,Serilog,我为windows开发了一个net core 3.1服务,该服务工作正常,但无法写入日志文件。 在调试期间,Serilog会正确写入文件,但一旦安装了sc,它就不会写入任何内容 Program.cs public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); }

我为windows开发了一个net core 3.1服务,该服务工作正常,但无法写入日志文件。 在调试期间,Serilog会正确写入文件,但一旦安装了sc,它就不会写入任何内容

Program.cs

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseWindowsService()
                .UseSerilog((hostingContext, loggerConfig) =>
                loggerConfig.ReadFrom.Configuration(hostingContext.Configuration)) // custom log event
                .ConfigureServices((hostContext, services) =>
                {
                    IConfiguration configuration = hostContext.Configuration;           //prendi la configurazione

                    ServiceInfo siOption = configuration.GetSection("ServiceInfo").Get<ServiceInfo>();

                    services.AddSingleton(siOption);

                    services.AddHostedService<Worker>();
                });
    }

我不知道可能是什么问题,安装在linux机器上正确写入文件

serilog使用普通的文件API写入文件-您可以只考虑文件位置和权限进行调试/故障排除。Serilog
SelfLog
(搜索它)可能会在内部报告一些异常。Serilog使用普通文件API写入文件-您可以通过仅考虑文件位置和权限来调试/排除此问题。Serilog
SelfLog
(搜索它)可能在内部报告一些异常。
 "Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.RollingFile" ],
    "MinimumLevel": {
      "Default": "Debug",
      "Override": {
        "Default": "Information",
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information"
      }
    },
    "WriteTo": [
      {
        "Name": "Logger",
        "Args": {
          "configureLogger": {
            "Filter": [
              {
                "Name": "ByIncludingOnly",
                "Args": {
                  "expression": "(@Level = 'Error' or @Level = 'Fatal' or @Level = 'Warning')"
                }
              }
            ],
            "WriteTo": [
              {
                "Name": "File",
                "Args": {
                  "path": "Logs/ex_.log",
                  "outputTemplate": "{Timestamp} [{Level:u3}] {Message}{NewLine}{Exception}",
                  //"outputTemplate": "{Timestamp:o} [{Level:u3}] ({SourceContext}) {Message}{NewLine}{Exception}",
                  "rollingInterval": "Day",
                  "retainedFileCountLimit": 7
                }
              }
            ]
          }
        }
      }
    ],
    "Enrich": [
      "FromLogContext",
      "WithMachineName"
    ],
    "Properties": {
      "Application": "ORAMS-II Service Status Telegram"
    }
  }
}