NLog
Advanced and structured logging for various .NET platforms
..., the configuration can be changed. Every log message can be templated with various layout renders. Even though NLog has targets and pre-defined layouts, you can write custom targets or pass custom values. Fully support for structured logging. Targets are used to display, store or pass log messages to another destination. NLog can dynamically write to one of multiple targets for each log message.