Serilog не работает в BackgroundServiceC#

Место общения программистов C#
Ответить
Anonymous
 Serilog не работает в BackgroundService

Сообщение Anonymous »

У нас есть консольное приложение .NET 6.0, которое мы хотим запустить как службу Windows, оно работает, но не регистрируется. Если я запускаю его напрямую с Visual Studio или EXE, он работает. Я нашел несколько примеров настройки Serilog, но пока ничего не помогло.
public class Program
{
public static void Main(string[] args)
{
var builder = Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration(configuration =>
{
configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
})
.ConfigureServices(services =>
{
services.AddHostedService();
services.AddConnectionManagement();
services.AddSessionManagement();
services.AddTransient();
services.AddTransient();
services.AddHttpClient("123", (serviceProvider, client) =>
{
var config = serviceProvider.GetService();

client.Timeout = TimeSpan.FromMinutes(5);
client.DefaultRequestHeaders.Add("Origin", config.GetSection("123").GetValue("OriginHeader"));
client.BaseAddress = new Uri(config.GetSection("123").GetValue("ApiBaseAddress"));
}).AddHttpMessageHandler();
})
.UseWindowsService(lifetimeConfig =>
{
lifetimeConfig.ServiceName = "MES Server";
});

Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.File("logs/log.txt", rollingInterval: RollingInterval.Day, rollOnFileSizeLimit: true)
.CreateLogger();

var host = builder.Build();

host.Run();
}
}

public sealed class WindowsBackgroundService : BackgroundService
{
private readonly ILogger _logger;

public WindowsBackgroundService(ILogger logger)
{
_logger = logger;
}

public override async Task StartAsync(CancellationToken cancellationToken)
{
Log.Information("Start service");
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... undservice
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»