Как изменить исходное значение файла NLog.Config во время выполнения?

#c# #asp.net #.net #asp.net-mvc #logging

Вопрос:

Есть ли возможность динамически изменять имя источника NLog.Config во время выполнения? Если да, может ли кто-нибудь, пожалуйста, помочь мне?

 <targets>
<target
    xsi:type="EventLog" 
    name="eventlog"
    layout="${callsite}:${message}" 
    log="Application" source="MyAwesomeSolution"/>
</targets>
 

Это имя источника, которое я хочу изменить во время выполнения в соответствии со значением параметров, поступающим из другого метода в NLog.Config файл: source=»MyAwesomeSolution»

Заранее спасибо!!!

Комментарии:

1. В версии NLog .netcore есть средство визуализации mdlc. То ${mdlc:yoursetting} есть. Проверьте, существует ли он для используемой вами версии, в противном случае найдите его предшественника. Если его не существует, вы можете довольно легко написать свои собственные средства визуализации, а затем задать значение в коде. Однако имейте в виду, что на некоторых целевых объектах есть некоторые свойства, которые не могут использовать какой-либо визуализатор, даже «жестко закодированный». Вам нужно будет проверить, позволяет ли EventLog::source использовать визуализаторы. Моя память подсказывает мне, что это может быть и не так, хотя прошло уже много времени, так что я могу ошибаться.