/
maxja
/
OneSTools.TechLog-Vault
Обзор
Документация
Войти
/
maxja
/
OneSTools.TechLog-Vault
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
OneSTools.TechLog.Exporter/Program.cs
43 строки
2 KB
Акпаев Евгений Александрович
Фиксация промежуточной работы
28 янв 2021, 00:44
28 янв 2021, 00:44
6a49a7d
Код
Авторство
О чём код?
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using OneSTools.TechLog.Exporter.ClickHouse; using OneSTools.TechLog.Exporter.Core; using System; namespace OneSTools.TechLog.Exporter { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureLogging((hostingContext, logging) => { logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")); }) .UseWindowsService() .UseSystemd() .ConfigureServices((hostContext, services) => { var storageType = hostContext.Configuration.GetValue("Exporter:StorageType", StorageType.None); switch (storageType) { case StorageType.ClickHouse: services.AddSingleton<ITechLogStorage, ClickHouseStorage>(); break; default: throw new Exception($"{storageType} is not available value of StorageType enum"); } services.AddSingleton<TechLogExporter>(); services.AddHostedService<TechLogExporterService>(); }); } }