public void Should_Add_New_Log_With_Specific_Output_Source_And_Null_Message(LogOutputItem log) { var viewModel = ViewModelFactory(); viewModel.Text.ShouldBeNullOrWhiteSpace(); viewModel.AddLog(log); viewModel.Text.ShouldBeNullOrWhiteSpace(); }
/// <summary> /// The logging function /// </summary> /// <param name="message">A message to log</param> /// <param name="category">The category of logging</param> /// <param name="priority">The priority of logging</param> public void LogOutput(LogOutputItem log) { var trace = new StackTrace(); StackFrame frame = trace.GetFrame(1); // 0 will be the inner-most method MethodBase method = frame.GetMethod(); Logger.Log(LogLevel.Info, method.DeclaringType + ": " + log.Message); _aggregator.GetEvent <LogOutputEvent>().Publish(log); }
public void Should_Add_Clear_Current_Context_Log_For_Default_OutputSource(LogOutputItem log) { var viewModel = ViewModelFactory(); viewModel.Text.ShouldBeNullOrWhiteSpace(); viewModel.AddLog(log); viewModel.Text.ShouldNotBeNullOrWhiteSpace(); viewModel.ClearCurrentContextLog(); viewModel.Text.ShouldBeNullOrWhiteSpace(); }
public void Should_Output_Source_Removed_Event_Not_Change_Text_If_Not_Current_OutputSource() { var viewModel = ViewModelFactory(); var outputSourceName = "RandomOutputSource"; viewModel.AddOutputSource(outputSourceName); viewModel.Text.ShouldBeNullOrWhiteSpace(); var log = new LogOutputItem("Test message", OutputCategory.Warn, OutputPriority.None, outputSourceName); viewModel.AddLog(log); viewModel.Text.ShouldBeNullOrWhiteSpace(); }
public void Should_Text_Property_Changed() { var isFired = false; var viewModel = ViewModelFactory(); viewModel.PropertyChanged += (o, e) => { if (e.PropertyName == nameof(viewModel.Text)) { isFired = true; } }; var log = new LogOutputItem("Test message", OutputCategory.Warn, OutputPriority.None); viewModel.AddLog(log); isFired.ShouldBe(true); }
public void AddLog(LogOutputItem log) { if (!string.IsNullOrWhiteSpace(log.Message)) { var message = $"{DateTime.Now.ToShortTimeString()} - {log.Message}\n"; if (log.OutputSource != null) { _outputSource[log.OutputSource] += message; } else { //Append to default _outputSource[DefaultOutputSource] += message; } if (CurrentOutputContext == DefaultOutputSource) { OnPropertyChanged(() => Text); } } }