Example #1
0
        public void CanCreateExtendedLog4NetConfigUsingStream()
        {
            ExtendedLog4netFactory factory;

            using (var stream = StringToStream(log4netXml))
            {
                factory = new ExtendedLog4netFactory(stream);
            }

            var logger = factory.Create(loggerName);

            logger.Debug(logMessage);

            var logContent = GetLogContent();

            Assert.AreEqual(logMessage, logContent);
        }
Example #2
0
        public void CreateLogger(string loggerName)
        {
            //It will create a repository for each different arg it will receive
            var repositoryName = "Netfox";

            ILoggerRepository repository = null;

            var repositories = LogManager.GetAllRepositories();

            foreach (var loggerRepository in repositories)
            {
                if (loggerRepository.Name.Equals(repositoryName))
                {
                    repository = loggerRepository;
                    break;
                }
            }

            if (repository == null)
            {
                //Create a new repository
                repository = LogManager.CreateRepository(repositoryName);

                var hierarchy = (Hierarchy)repository;
                hierarchy.Root.Additivity = false;

                //Add appenders you need: here I need a rolling file and a memoryappender
                hierarchy.Root.AddAppender(this.NetfoxOutputAppender);
                hierarchy.Root.AddAppender(this.NetfoxFileAppender);


                BasicConfigurator.Configure(repository);
            }

            //Returns a logger from a particular repository;
            //Logger with same name but different repository will log using different appenders
            var logger = LogManager.GetLogger(repositoryName, loggerName);
            var logg   = new ExtendedLog4netFactory();

            this.Logger = new  ExtendedLog4netLogger(logger, logg);
        }