using System; using System.IO; using ATxCommon.Serializables; using NLog; using NLog.Config; using NLog.Targets; namespace ATxConfigTest { internal class AutoTxConfigTest { private static readonly Logger Log = LogManager.GetCurrentClassLogger(); private static ServiceConfig _config; private static void Main(string[] args) { var logConfig = new LoggingConfiguration(); var consoleTarget = new ConsoleTarget { Name = "console", Layout = @"${date:format=yyyy-MM-dd HH\:mm\:ss} [${level}] (${logger}) ${message}", }; logConfig.AddTarget("console", consoleTarget); var logRuleConsole = new LoggingRule("*", LogLevel.Debug, consoleTarget); logConfig.LoggingRules.Add(logRuleConsole); LogManager.Configuration = logConfig; var baseDir = AppDomain.CurrentDomain.BaseDirectory; if (args.Length > 0) baseDir = args[0]; const string mark = "----------------------------"; try { Console.WriteLine($"\nTrying to parse configuration files from [{baseDir}]...\n"); _config = ServiceConfig.Deserialize(baseDir); Console.WriteLine($"\n{mark} configuration settings {mark}"); Console.Write(_config.Summary()); Console.WriteLine($"{mark} configuration settings {mark}\n"); } catch (Exception ex) { Console.WriteLine(ex); Environment.ExitCode = -1; } } } }