Например, рассмотрим следующий фрагмент: < /p>
Код: Выделить всё
public void DoWithScope(string value)
{
using var scoped =
_logger.BeginScope(new Dictionary()
{
["myProperty"] = value
});
MyMethod(value);
}
public void DoWithotScope(string value)
{
MyMethod(value);
}
private void MyMethod(string value)
{
try
{
// do something
throw new Exception("Oops!");
}
catch (Exception ex)
{
_logger.LogError(ex, "The value \"{myProperty}\" causes an exception.", value);
}
}
< /code>
DoWithScopeКонечно, можно отключить вложенную область в целевых настройках, но иногда важно использовать Scoped и Встроенные свойства одновременно, потому что мы не знаем, содержит ли сфера MyProperty или нет, но мы хотим быть уверенным, что свойство добавлено. Также мы можем смешивать цель с поддержкой структурированной ведения журнала и без нее. Является ли способ реализовать такое поведение путем изменения конфигурации журнала?
Подробнее здесь: https://stackoverflow.com/questions/794 ... -with-nlog
Мобильная версия