My Stactive project is now functional. It can log ASP.NET Core requests to a MongoDb database. Stactive is a middleware, which in future will be available as a Nuget package. It will support few storing options - as separate plugins - Nuget packages. To make it happen, I needed to implement MongoDb support as a plugin and I decided it might be worth to share how it’s done.
One of my current projects is hosted in docker environment (more on that topic coming!). The setup requires me to use an Nginx reverse proxy. Additionally, for performance reasons, I also use CloudFlare as a CDN. This all means, before the user gets to my application, he has to go through at least two proxy servers. That’s an issue when you want to know your users IP address.
I am creating a project called Stactive, which will be helpful in logging requests and other events from the ASP.NET Core applications. Today, I introduced a
RequestLogger class, which implements
IRequestLogger interface. As always, I wanted to inject this in the constructor and realised it needs to be registered in the DI container. I would like to show you how it’s done.
Every application sometimes fails. I know it’s hard to admit, but it’s true. When it does fail, it usually throws an exception. Based on the type of application, you can handle it differently, but you should always log it somewhere. It might be a file, database or a console. Today, I would like to show you a great tool, which is called Exceptionless.