Ich führe einen NServiceBus-Endpunkt auf einer Azure-Arbeitsrolle aus. Ich sende im Moment alle Diagnosen zum Tabellenspeicher. Ich erhielt Nachrichten in meiner DLQ und konnte nicht herausfinden, warum ich keine Ausnahmen in meinem Tabellenspeicher ablegen konnte.NServiceBus-Ausnahmen, die als INFO-Nachrichten protokolliert werden
Es stellt sich heraus, dass NSB die Ausnahmen als INFO protokolliert, weshalb ich sie zwischen der ganzen ausführlichen Protokollierung nicht leicht finden konnte.
In meinem Fall konnten die Abhängigkeiten eines Befehlshandlers nicht aufgelöst werden, sodass Autofac eine Ausnahme auslöst. Ich verstehe total warum die Ausnahme ausgelöst wird, ich verstehe einfach nicht warum sie als INFO angemeldet sind. Die Nachricht endet in meiner DLQ, und ich habe nur eine INFO-Ablaufverfolgung, um zu verstehen, warum.
Gibt es einen Grund, warum Ausnahmen in NSB auf diese Weise behandelt werden?
Wenn Sie sagen "Es stellt sich heraus, dass NSB die Ausnahmen als INFO protokolliert", meinst du, Handler nicht laden Ausnahmen oder buchstäblich alle Ausnahmen? Wenn der Handler geladen ist und eine Ausnahme ausgelöst wird, wird dies als Fehler protokolliert. Kannst du das bitte klären? –
Ich meine, dass der fehlgeschlagene Handler als INFO im Protokoll angezeigt wird: 2016-03-31 08: 32: 45.910 INFO NServiceBus.Unicast.Transport.TransportReceiver Fehler beim Verarbeiten der Nachricht Autofac.Core.DependencyResolutionException: Keine von Die Konstruktoren, die mit 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' vom Typ 'CommandHandler' gefunden wurden, können mit den verfügbaren Diensten und Parametern aufgerufen werden. Ich würde erwarten, dass dies anstelle einer INFO als Fehler protokolliert wird. – Laila