Serilog ASP .Net Core 在 MacOS 中不将日志写入文件但在 Windows 中工作

Serilog ASP .Net Core not writing logs to file in MacOS but works in Windows

我已经在我的 asp .net core 3.1 项目中配置了 serilog。它在 windows 中工作正常,但是当我 运行 在 Mac 中工作时,我没有得到任何日志文件 created.So 我通过写入控制台进行了检查,它工作正常但是仅在 mac 中写入文件也不起作用,在 windows 中都工作正常。

Startup.cs

public Startup(IConfiguration configuration)
        {
            Configuration = configuration;

            Log.Logger = new LoggerConfiguration()
                .ReadFrom.Configuration(Configuration)
                .Enrich.FromLogContext()
                .WriteTo.Console()
                .WriteTo.File(new CompactJsonFormatter(), "Logs\log.json", rollingInterval: RollingInterval.Minute,shared:true, 
                restrictedToMinimumLevel: LogEventLevel.Information)
                .CreateLogger();
        }

Program.cs

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseSerilog()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

并且在我使用的任何一个 class 中,我正在创建一个通用的记录器实例,并且使用方式如下

public AuthService(ILogger<AuthService> logger)
        {
            _logger = logger;
        }

and in 
some function(){

                _logger.LogInformation("Got Access Token, Now returning!");
                _logger.LogError("Oops! got an error");
                _logger.LogWarning("Warning from service");
}

我记得用 Mac OS 工作了很长时间,它不喜欢双斜杠 \。尝试这样的事情怎么样?

    string logFolder = "Logs";
    var logPath = Path.Combine(logFolder, "log.json");
    .WriteTo.File(new CompactJsonFormatter(), logPath, rollingInterval: RollingInterval.Minute,shared:true,
....

.WriteTo.File(new CompactJsonFormatter(), @"Logs\log.json", rollingInterval: RollingInterval.Minute,shared:true,