Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.
![](https://codeopinion.com/wp-content/uploads/2016/03/mediatr.png)
RequestPreProcessorBehavior<,>
and RequestPostProcessorBehavior<,>
I’ve blogged about the new behaviors before but you can do it more generically.
Cross Cutting Behavior
I was looking at the pipeline to handle cross-cutting concerns like logging and metrics, which I would want on each command/query.
— Scott Banwart (@sbanwart) September 6, 2017
Logging
Pretty typical scenario of wanting to log incoming requests. One common use case would be to store the incoming requests as a message store.Registration
The next piece of the puzzle is making sure you register theRequestPreProcessorBehavior<,>
with the DI container you are using with MediatR. In the case of StructureMap that looks like: