mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-15 01:25:40 -05:00
67 lines
2.2 KiB
C#
67 lines
2.2 KiB
C#
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
#nullable disable
|
|
|
|
using System;
|
|
using System.IO;
|
|
using System.Diagnostics;
|
|
using Microsoft.SqlTools.Extensibility;
|
|
using Microsoft.SqlTools.Utility;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Microsoft.SqlTools.Migration
|
|
{
|
|
internal class Program
|
|
{
|
|
private const string ServiceName = "MicrosoftSqlToolsMigration.exe";
|
|
|
|
internal static async Task Main(string[] args)
|
|
{
|
|
try
|
|
{
|
|
CommandOptions commandOptions = new CommandOptions(args, ServiceName);
|
|
if (commandOptions.ShouldExit)
|
|
{
|
|
return;
|
|
}
|
|
|
|
string logFilePath = "MicrosoftSqlToolsMigration";
|
|
if (!string.IsNullOrWhiteSpace(commandOptions.LogFilePath))
|
|
{
|
|
logFilePath = Path.Combine(commandOptions.LogFilePath, logFilePath);
|
|
}
|
|
else
|
|
{
|
|
logFilePath = Logger.GenerateLogFilePath(logFilePath);
|
|
}
|
|
|
|
Logger.Initialize(SourceLevels.Verbose, piiEnabled: commandOptions.PiiLogging, logFilePath, "Migration", commandOptions.AutoFlushLog);
|
|
|
|
Logger.Verbose("Starting SqlTools Migration Server...");
|
|
|
|
ExtensionServiceHost serviceHost = new ExtensionServiceHost(
|
|
new ExtensibleServiceHostOptions
|
|
{
|
|
HostName = "Migration",
|
|
HostProfileId = "SqlTools.Migration",
|
|
HostVersion = new Version(1, 0, 0, 0),
|
|
InitializeServiceCallback = (server, serivce) => { }
|
|
});
|
|
|
|
serviceHost.RegisterAndInitializeService(new MigrationService());
|
|
await serviceHost.WaitForExitAsync();
|
|
Logger.Verbose("SqlTools Migration Server exiting....");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Logger.Error(ex);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
} |