private void AddDirectoryToCatalog(AggregateCatalog catalog, string directoryPath) { var directoryCatalog = new DirectoryCatalog(directoryPath); try { if (directoryCatalog.Parts.ToArray().Count() > 0) // throws ReflectionTypeLoadException on bad assembly { catalog.Catalogs.Add(directoryCatalog); } } catch (ReflectionTypeLoadException ex) { Console.WriteLine(ex.Message); _logger.Error(string.Format("GenericPoller AssemblyResolver - {0} - {1}", directoryPath, ex.Message), "GenericPoller.AssemblyResolver", "AddDirectoryToCatalog", ex); foreach (Exception loaderEx in ex.LoaderExceptions) { Console.WriteLine(loaderEx.Message); _logger.Error(loaderEx.Message, "GenericPoller.AssemblyResolver", "AddDirectoryToCatalog", loaderEx); } } foreach (string subDirectoryPath in Directory.GetDirectories(directoryPath)) { this.AddDirectoryToCatalog(catalog, subDirectoryPath); } }
private bool ValidateClassName(string className) { _className = className; var valid = _assemblyLocator.PollHandlerDirectories.ContainsKey(_className); if (!valid) { _logger.Error(string.Format("GenericPollerProcess Unable to find PollHandler for {0}", _className), "GenericPollerProcess", "ValidateClassName"); } return(valid); }
public void ContextLoggerErrorOutputsSuccessfully() { const string message = "This is a test"; using var context = new ActionContext("default", "TestContext"); Thread.Sleep(10); var logger = new ContextLogger(context); logger.Error(message); var entry = logger.LogEntries?.FirstOrDefault(); Assert.NotNull(entry); Assert.Single(logger.LogEntries); Assert.Equal(LogLevel.Error, entry.LogLevel); Assert.Equal(message, entry.Message); Assert.Equal(context.Info.ContextName, entry.ContextName); Assert.Equal(context.Info.Id, entry.ContextId); Assert.True(entry.TimeElapsed.TotalMilliseconds > 10); }