public void SetUpFixture() { Util.LogLog.InternalDebugging = true; Hierarchy hierarchy = (Hierarchy) LogManager.GetRepository(); PatternLayout patternLayout = new PatternLayout { ConversionPattern = "%d [%t] %-5p %m%n" }; patternLayout.ActivateOptions(); TraceAppender tracer = new TraceAppender { Layout = patternLayout }; tracer.ActivateOptions(); hierarchy.Root.AddAppender(tracer); ConsoleAppender console = new ConsoleAppender { Name = "console", Layout = patternLayout, Target = "Console.Out", Threshold = Level.All, }; console.ActivateOptions(); hierarchy.Root.AddAppender(console); RollingFileAppender rollingFile = new RollingFileAppender { Name = "file", Layout = patternLayout, AppendToFile = true, RollingStyle = RollingFileAppender.RollingMode.Size, MaxSizeRollBackups = 4, MaximumFileSize = "100KB", StaticLogFileName = true, LockingModel = new FileAppender.MinimalLock(), File = "logs\\logFile.txt", }; rollingFile.ActivateOptions(); hierarchy.Root.AddAppender(rollingFile); RollbarAppender rollbar = new RollbarAppender { Name = "rollbar", Layout = patternLayout, AccessToken = "3203880e148b43b4b1a14430fb41957a", Threshold = Level.Notice, }; rollbar.ActivateOptions(); hierarchy.Root.AddAppender(rollbar); hierarchy.Root.Level = Level.All; hierarchy.Configured = true; }
public void TestAppenderReconfiguration() { Person[] expectedPersons = new Person[] { null, new Person("Person1"), new Person("Person2"), }; RollbarAppender appender = new RollbarAppender( RollbarUnitTestSettings.AccessToken, RollbarUnitTestSettings.Environment, TimeSpan.FromSeconds(3) ); string repositoryName = typeof(RollbarAppenderFixture).Name; var repository = LoggerManager.CreateRepository(repositoryName); string loggerName = typeof(RollbarAppenderFixture).Name; BasicConfigurator.Configure(repository, appender); ILog log = LogManager.GetLogger(repositoryName, loggerName); log.Info("Via log4net"); RollbarConfig newConfig = new RollbarConfig(); newConfig.Reconfigure(appender.RollbarConfig); newConfig.Person = expectedPersons[1]; appender.RollbarConfig.Reconfigure(newConfig); log.Info("Via log4net"); newConfig = new RollbarConfig(); newConfig.Reconfigure(appender.RollbarConfig); newConfig.Person = expectedPersons[2]; newConfig.ScrubFields = new string[] { "log4net:UserName", "log4net:HostName", "log4net:Identity", }; appender.RollbarConfig.Reconfigure(newConfig); log.Info("Via log4net"); Assert.IsFalse(this._rollbarCommEvents[0].Payload.Contains("Person")); Assert.IsTrue(this._rollbarCommEvents[1].Payload.Contains(expectedPersons[1].Id)); Assert.IsTrue(this._rollbarCommEvents[2].Payload.Contains(expectedPersons[2].Id)); }
public void TestAppenderReconfiguration() { Person[] expectedPersons = new Person[] { null, new Person("Person1"), new Person("Person2"), }; RollbarAppender appender = new RollbarAppender( RollbarUnitTestSettings.AccessToken, RollbarUnitTestSettings.Environment, TimeSpan.FromSeconds(3) ); string repositoryName = typeof(RollbarAppenderFixture).Name; var repository = LoggerManager.CreateRepository(repositoryName); string loggerName = typeof(RollbarAppenderFixture).Name; BasicConfigurator.Configure(repository, appender); ILog log = LogManager.GetLogger(repositoryName, loggerName); log.Info("Via log4net"); RollbarConfig newConfig = new RollbarConfig(); newConfig.Reconfigure(appender.RollbarConfig); newConfig.Person = expectedPersons[1]; appender.RollbarConfig.Reconfigure(newConfig); log.Info("Via log4net"); newConfig = new RollbarConfig(); newConfig.Reconfigure(appender.RollbarConfig); newConfig.Person = expectedPersons[2]; newConfig.ScrubFields = new string[] { "log4net:UserName", "log4net:HostName", "log4net:Identity", }; appender.RollbarConfig.Reconfigure(newConfig); log.Info("Via log4net"); // wait until all the payloads are processed and transmitted Thread.Sleep(TimeSpan.FromSeconds(5)); Assert.IsTrue(this._rollbarCommEvents.Count == 3 || this._rollbarCommErrorEvents.Count == 3, "Either comm successes or errors are captured..."); if (this._rollbarCommErrorEvents.Count == 3) { //this scenario happens on the CI server (Azure Pipelines): foreach (var commErrorEvent in this._rollbarCommErrorEvents) { Assert.IsTrue( commErrorEvent.Error.Message.Contains( "Preliminary ConnectivityMonitor detected offline status!"), "Matching error message." ); } Assert.IsFalse(this._rollbarCommErrorEvents[0].Payload.Contains("\"person\":{\"id\":"), "checking this._rollbarCommErrorEvents[0].Payload"); Assert.IsTrue(this._rollbarCommErrorEvents[1].Payload.Contains(expectedPersons[1].Id), "checking this._rollbarCommErrorEvents[1].Payload"); Assert.IsTrue(this._rollbarCommErrorEvents[2].Payload.Contains(expectedPersons[2].Id), "checking this._rollbarCommErrorEvents[2].Payload"); } else { Assert.IsFalse(this._rollbarCommEvents[0].Payload.Contains("\"person\":{\"id\":"), "checking this._rollbarCommEvents[0].Payload"); Assert.IsTrue(this._rollbarCommEvents[1].Payload.Contains(expectedPersons[1].Id), "checking this._rollbarCommEvents[1].Payload"); Assert.IsTrue(this._rollbarCommEvents[2].Payload.Contains(expectedPersons[2].Id), "checking this._rollbarCommEvents[2].Payload"); } }