Пример #1
0
        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);
        }
Пример #3
0
        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);
        }