welsonjs/WelsonJS.Toolkit/WelsonJS.Launcher/Telemetry/TelemetryProviderFactory.cs
Namhyeon, Go 1d4b7af5b3 Fix the logger for telemetry
Fix the logger for telemetry
2025-12-03 16:54:19 +09:00

35 lines
1.0 KiB
C#

// TelemetryProviderFactory.cs
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2025 Catswords OSS and WelsonJS Contributors
// https://github.com/gnh1201/welsonjs
//
using System;
namespace WelsonJS.Launcher.Telemetry
{
public static class TelemetryProviderFactory
{
public static ITelemetryProvider Create(string provider, TelemetryOptions options, ICompatibleLogger logger = null)
{
if (options == null)
throw new ArgumentNullException(nameof(options));
if (provider == null)
throw new ArgumentNullException(nameof(provider));
provider = provider.ToLowerInvariant();
switch (provider)
{
case "posthog":
return new PosthogTelemetryProvider(options, logger);
default:
throw new NotSupportedException(
"Unknown telemetry provider: " + provider
);
}
}
}
}