I recently worked on a logging solution in a .NET Core app and liked the end result. Links and brief highlights below.
Serilog
Write logging statements in you code with structured objects and context, and write them to any number of sinks on the backend - Flat files, Elasticsearch, S3, databases, message queues, whatever - without changing application code.
The "Best Practices" article is a quick read with easy steps to add to make your logging life easier - highly recommended.