public void Write() { var busConfiguration = new BusConfiguration(); busConfiguration.EndpointName(endpointName); var typesToScan = TypeScanner.NestedTypes <HeaderWriterError>(typeof(ConfigErrorQueue)); busConfiguration.TypesToScan(typesToScan); busConfiguration.EnableInstallers(); busConfiguration.UsePersistence <InMemoryPersistence>(); busConfiguration.RegisterComponents(c => c.ConfigureComponent <Mutator>(DependencyLifecycle.InstancePerCall)); using (var bus = (UnicastBus)Bus.Create(busConfiguration).Start()) { bus.Builder.Build <BusNotifications>() .Errors .MessageSentToErrorQueue .Subscribe(e => { var headerText = HeaderWriter.ToFriendlyString <HeaderWriterError>(e.Headers); headerText = BehaviorCleaner.CleanStackTrace(headerText); headerText = StackTraceCleaner.CleanStackTrace(headerText); SnippetLogger.Write(text: headerText, suffix: "Error", version: "5"); ManualResetEvent.Set(); }); var messageToSend = new MessageToSend(); bus.SendLocal(messageToSend); ManualResetEvent.WaitOne(); } }
public override Task Invoke(IIncomingPhysicalMessageContext context, Func <Task> next) { var headers = context.MessageHeaders; var headerText = HeaderWriter.ToFriendlyString <HeaderWriterError>(headers); headerText = BehaviorCleaner.CleanStackTrace(headerText); headerText = StackTraceCleaner.CleanStackTrace(headerText); SnippetLogger.Write( text: headerText, suffix: "Error"); ManualResetEvent.Set(); return(Task.CompletedTask); }
public Mutator(Notifications busNotifications) { var errorsNotifications = busNotifications.Errors; errorsNotifications.MessageSentToErrorQueue += (sender, retry) => { var headerText = HeaderWriter.ToFriendlyString <HeaderWriterError>(retry.Headers); headerText = BehaviorCleaner.CleanStackTrace(headerText); headerText = StackTraceCleaner.CleanStackTrace(headerText); SnippetLogger.Write(text: headerText, suffix: "Error", version: "6"); ManualResetEvent.Set(); }; }