My team and I recently started working on a new project. Our project is layered in 3 tiers - client (Winforms Application), middle ware (.NET Core 3.0 Web API), Database (PostgreSQL). I was assigned to find the optimal way to implement a logging and monitoring system.
What we need is log every exception (of course), as well as every query that our middle ware does to our database and also some audit logs.
At first my search began from the noSQL databases. I was thinking of picking MongoDb, Cassandra or ElasticSearch, since they are fast and do not need a specific schema and log everything there. But then I stumbled upon this great blog post by Nick Craver - the Architecture Lead for Stack Exchange. There he mentions the use of StackeExchange.Exceptional and I think that this is what we actually need.
But I am not sure how to actually use it and which of all those great solutions that Nick gives I need for my use case.
So I am asking: