From 992cc96da6ed780420b09ffb12add735fb510a2c Mon Sep 17 00:00:00 2001 From: Eric Fontana Date: Thu, 17 Jul 2014 11:16:00 -0400 Subject: [PATCH] Integrated Configuration Class --- TimberWinR.ServiceHost/Program.cs | 25 ++++++---- .../TimberWinR.UnitTests.csproj | 5 ++ TimberWinR.UnitTests/testconf.xml | 19 +++++++ TimberWinR/Configuration.cs | 11 ++--- TimberWinR/Inputs/WindowsEvtInputListener.cs | 49 ++++++++++--------- TimberWinR/Manager.cs | 2 +- 6 files changed, 72 insertions(+), 39 deletions(-) create mode 100644 TimberWinR.UnitTests/testconf.xml diff --git a/TimberWinR.ServiceHost/Program.cs b/TimberWinR.ServiceHost/Program.cs index ef3e41a..82136ce 100644 --- a/TimberWinR.ServiceHost/Program.cs +++ b/TimberWinR.ServiceHost/Program.cs @@ -61,21 +61,17 @@ namespace TimberWinR.ServiceHost readonly CancellationTokenSource _cancellationTokenSource; readonly CancellationToken _cancellationToken; readonly Task _serviceTask; - - private readonly TcpInputListener _nlogListener; + private readonly Arguments _args; + private TcpInputListener _nlogListener; public TimberWinRService(Arguments args) { + _args = args; _cancellationTokenSource = new CancellationTokenSource(); _cancellationToken = _cancellationTokenSource.Token; _serviceTask = new Task(RunService, _cancellationToken); - var elistner = new WindowsEvtInputListener(_cancellationToken); - - _nlogListener = new TcpInputListener(_cancellationToken, 5140); - var outputRedis = new RedisOutput(new string[] { "tstlexiceapp006.vistaprint.svc", "tstlexiceapp007.vistaprint.svc" }, _cancellationToken); - outputRedis.Connect(_nlogListener); - outputRedis.Connect(elistner); + } public void Start() @@ -94,7 +90,18 @@ namespace TimberWinR.ServiceHost /// private void RunService() { - TimberWinR.Manager manager = new TimberWinR.Manager(); + var config = new Configuration(_args.ConfigFile); + var outputRedis = new RedisOutput(new string[] { "tstlexiceapp006.vistaprint.svc", "tstlexiceapp007.vistaprint.svc" }, _cancellationToken); + _nlogListener = new TcpInputListener(_cancellationToken, 5140); + outputRedis.Connect(_nlogListener); + + foreach (Configuration.WindowsEvents eventConfig in config.Events) + { + var elistner = new WindowsEvtInputListener(eventConfig, _cancellationToken); + outputRedis.Connect(elistner); + } + + TimberWinR.Manager manager = new TimberWinR.Manager(_args.ConfigFile); //while (!_cancellationTokenSource.IsCancellationRequested) //{ diff --git a/TimberWinR.UnitTests/TimberWinR.UnitTests.csproj b/TimberWinR.UnitTests/TimberWinR.UnitTests.csproj index 9010557..0481388 100644 --- a/TimberWinR.UnitTests/TimberWinR.UnitTests.csproj +++ b/TimberWinR.UnitTests/TimberWinR.UnitTests.csproj @@ -57,6 +57,11 @@ + + + PreserveNewest + +