Windows Serilog在使用sc.exe安装服务后不会写入文件
我为windows开发了一个net core 3.1服务,该服务工作正常,但无法写入日志文件。 在调试期间,Serilog会正确写入文件,但一旦安装了sc,它就不会写入任何内容 Program.csWindows 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(); }
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写入文件-您可以通过仅考虑文件位置和权限来调试/排除此问题。SerilogSelfLog
(搜索它)可能在内部报告一些异常。
"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"
}
}
}