diff --git a/src/ServiceControl.Connector.MassTransit.Host/Commands/StartupCommand.cs b/src/ServiceControl.Connector.MassTransit.Host/Commands/StartupCommand.cs index 90ad40b..741f7db 100644 --- a/src/ServiceControl.Connector.MassTransit.Host/Commands/StartupCommand.cs +++ b/src/ServiceControl.Connector.MassTransit.Host/Commands/StartupCommand.cs @@ -3,6 +3,7 @@ namespace ServiceControl.Connector.MassTransit.Host.Commands; using System.CommandLine; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Hosting.WindowsServices; using Microsoft.Extensions.Logging; using NServiceBus.Extensions.Logging; using ServiceControl.Connector.MassTransit; @@ -43,6 +44,9 @@ async Task InternalHandler(RunMode runMode, bool isConsole, string[] connec var builder = Host.CreateApplicationBuilder(connectorArgs); builder.UseMassTransitConnector(runMode == RunMode.Setup); + // Registers WindowsServiceLifetime and EventLog logging when running as a Windows Service; no-op otherwise. + builder.Services.AddWindowsService(); + if (isConsole) { builder.Logging.AddSimpleConsole(o => @@ -51,7 +55,7 @@ async Task InternalHandler(RunMode runMode, bool isConsole, string[] connec o.IncludeScopes = true; }); } - else + else if (!WindowsServiceHelpers.IsWindowsService()) { builder.Logging.AddSystemdConsole(); } diff --git a/src/ServiceControl.Connector.MassTransit.Host/ServiceControl.Connector.MassTransit.Host.csproj b/src/ServiceControl.Connector.MassTransit.Host/ServiceControl.Connector.MassTransit.Host.csproj index d4999f6..856ffdf 100644 --- a/src/ServiceControl.Connector.MassTransit.Host/ServiceControl.Connector.MassTransit.Host.csproj +++ b/src/ServiceControl.Connector.MassTransit.Host/ServiceControl.Connector.MassTransit.Host.csproj @@ -15,6 +15,7 @@ +