NLOG is a great framework to log errors to all kind of targets, I learned about it when I was working on including XESmartTarget into our product.
There is a lot of sources to help out with initial implementation and logging to console was straight forward, the problem started when I wanted to log information into database – again found a fair bit of information online either in documentation or on blog posts, but nobody told me the following;

I was wondering why my database target was omitted and only file and console were loaded from Nlog.config file.

This worked for me.
It is also worth noting that internalLogLevel needs to be set as well to track internal issues during your implementation, you can also set throwExceptions to true, although few times I just got an exit error code, in the other instances I saw an actual exceptions that was helpful.

autoReload="true" throwExceptions="false"