返回

c#-WorkerService无法在部署计算机上记录消息

发布时间:2022-03-31 11:51:19 449
# flask

我正在用C#构建一个WorkerService,作为Windows服务运行。测试时,我可以看到日志消息,因为有一个控制台窗口显示信息或错误消息。当我部署时,没有控制台窗口,因为这是一个没有GUI的服务。不过,我仍然希望记录信息性消息和错误。现在,我可以在事件查看器中看到显示服务启动和停止以及显示任何错误的信息,但我希望有一个日志文件,可以向其中添加更详细的信息。这是我的后台工作人员的长相。

public class WindowsBackgroundService : BackgroundService
{
    private readonly ILogger logger;

    public WindowsBackgroundService(ILogger logger)
    {
        this.logger = logger;
    }

    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
        //Logic would go here.
        logger.LogInformation($"New User {newCustomer.Firstname} {newCustomer.Lastname} Added");
    }
    await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);
}

这是我的节目。以防有人好奇或与此有关。

var host = Host.CreateDefaultBuilder(args)
.UseWindowsService(options =>
{
    options.ServiceName = "Customer Broker Service";
})
.ConfigureServices(services =>
{
    services.AddHostedService();
})
.Build();

await host.RunAsync();

当我在部署计算机上运行服务时尝试使用记录器时,它会使服务崩溃,因为没有控制台窗口来显示日志。我想我错过了一些简单的东西。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像