public static void Main(string[] args)
{
try
{
XmlConfigurator.Configure();
var cfg = new CommandLineConfiguration { CmdLineArgs = args };
var commandInstance = new CommandFactory()
.CreateCommand(cfg.GetMandatoryConfigValue(CommandKey));
(commandInstance as IConfigurable)?.Configure(cfg);
Logger.Info($"Executing command {commandInstance.GetType().Name}...");
commandInstance.Execute();
Logger.Info($"Command {commandInstance.GetType().Name} executed.");
}
catch (Exception e)
{
Logger.Error($"Error executing application: {e.Message}");
var innerException = e.InnerException;
while (null != innerException)
{
Logger.Error(innerException.Message);
innerException = innerException.InnerException;
}
Logger.Error($"Stack trace: {e.StackTrace}");
}
}