private void HandleLogMessages(object sender, HeartOfGoldController.LoggerEventArgs args) { foreach (var message in args.Messages) { if (!message.Message.StartsWith("Sending log message with level")) { continue; } _receivedLevel = message.LogLevel; _receivedMessage = message.Message; _logMessageReceived.Set(); } }
private void BasicLoggingTest(LogLevel senderLevel, LogLevel loggerLevel, LogLevel appenderLevel, bool expectedResult) { _hogController.SetLogLevel(_testModuleLogger, loggerLevel); Thread.Sleep(ClientSleepTime); _loggers = _hogController.GetAllLoggers(); _testModuleLogger = _loggers.FirstOrDefault(l => l.Name == "TestModule"); Assert.NotNull(_testModuleLogger, "Can't get logger configuration for TestModule"); // ReSharper disable once PossibleNullReferenceException Assert.AreEqual(loggerLevel, _testModuleLogger.ActiveLevel, "Can't set logger configuration for TestModule"); _logMessageReceived.Reset(); _loggerId = _hogController.AddRemoteLogAppender("TestModule", appenderLevel); Config config = _hogController.GetConfig("TestModule"); Entry logLevelEntry = config.Root.SubEntries.FirstOrDefault(e => e.Identifier == "LogLevel"); Assert.IsNotNull(logLevelEntry, "Can't get property 'LogLevel' from config."); logLevelEntry.Value.Current = senderLevel.ToString(); _hogController.SetConfig(config, "TestModule"); Thread.Sleep(ClientSleepTime); _hogController.ReincarnateServiceAsync("TestModule"); _hogController.WaitForService("TestModule", ServerModuleState.Running, 10); var received = _logMessageReceived.WaitOne(WaitTime); Assert.AreEqual(expectedResult, received, "Expected log message received?"); if (received) { Assert.AreEqual(senderLevel, _receivedLevel, _receivedMessage); } }
public void BasicLoggingTest2(LogLevel senderLevel, LogLevel receiverLevel, bool expectedResult) { BasicLoggingTest(senderLevel, receiverLevel, LogLevel.Trace, expectedResult); }