我使用的是带有.net内核3.1的ubuntu 19.10。这是我第一次使用Serilog,配置如下:
<TargetFramework>netcoreapp3.1</TargetFramework>
<PackageReference Include="Serilog.AspNetCore" Version="3.2.0" />
<PackageReference Include="Serilog.sinks.file" Version="4.1.0" />
public class Program
{
public static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
.Enrich.FromLogContext().WriteTo.File("/tmp/log/LogFile.txt")
.CreateLogger();
Log.Information("Starting up the service");
try{
CreateHostBuilder(args).Build().Run();
}catch(Exception e)
{
Log.Fatal(e, "There was a problem starting the service");
return ;
}
finally
{
Log.CloseAndFlush();
}
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
}).UseSerilog();
}}
我没有得到任何异常,日志文件保持为空。我错过了什么?
谢谢你的帮助。。
sudo chown www-data:www-data folder-that-is-the-app
sudo chown -R www-data folder-that-is-the-app
帮我搞定了
这可能是文件权限问题,如果我运行">sudodotnet run",那么它就可以工作了。我不知道为什么我没有从Serilog中得到任何异常,表明这就是问题所在。