Хорошо, теперь я знал, как писать пользовательские layoutRenderзначения Pass для NLog пользовательского LayoutRenderer
- написать класс MylayoutRender наследует LayoutRenderer, в классе,
- переопределение Append метода
зарегистрировать изготовленный на заказ layoutRenderer при запуске
ConfigurationItemFactory.Default.LayoutRenderers.RegisterDefinition("application", typeof(MyLayoutRenderer));
curently, я прочитал значение от конфигурации
protected override void Append(StringBuilder builder, LogEventInfo logEvent)
{
var product = CommonMethods.ReadConfig("product");
builder.Append(product);
}
как установить значение динамически?
выглядит так же, как и я: читайте из файла конфигурации (CommonMethods.ReadConfig ("product");) – prime23
Вы хотите сделать что-то другое? То, как я прочитал вопрос, я подумал, что вы, возможно, захотите настроить LayoutRenderer, чтобы вы могли прочитать любое значение из файла конфигурации. Идея для LayoutRenderer, которая делает это, указав имя значения в качестве параметра LayoutRenderer в файле NLog.config, делает это. Есть ли что-то еще, что вы ищете? Может быть, лучший способ сделать то, что вы хотите. – wageoghe
извините за ответ поздно. то, что я хотел сделать, это установить значение из метода Append, но не дать параметр layoutRender. Но так как мой пользовательский layoutRender (имя приложения) является константой, я просто жестко закодирован в sql-insert в NLog.config. Еще раз спасибо. – prime23