Вам нужно переопределить CreateInstance
в NLog, чтобы он мог создать CorrelationIdLayoutRenderer
ConfigurationItemFactory.Default.CreateInstance = (Type type) =>
{
// your custom target.
if(type == typeof(CorrelationIdLayoutRenderer))
return new CorrelationIdLayoutRenderer(...); // TODO get ICorrelationContextAccessor
else
return Activator.CreateInstance(type); //default
};
Обновление:
Если вы регистрируетесь слишком поздно, вы можете поставить в очередь перезагрузку всех сборок NLog следующим образом:
ConfigurationItemFactory.Default = null; // (namespace NLog.Config).
Он будет перезагружен непосредственно перед первым использованием NLog