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. Bear in mind that these logs will occur very often since the users are more than 200 concurrently.
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:
- if you have ever used Exceptional enlighten me of its uses
- do i need OPServer too to monitor the logs?
- am I still better using just Mongo?
- what logging process and tools are you using in your own projects?