LogContext.PushProperty("FilePath", sourceFilePath),

    LogContext.PushProperty("LineNumber", sourceLineNumber),

    LogContext.PushProperty("ApplicationName", _applicationName)

  };

  return list;

}

Каждая реализация метода следует одному и тому же процессу. На первом шаге вызывается метод PushProperties для добавления дополнительных свойств и затем соответствующий метод регистрации в журнале, предоставляемый LoggerExtensions в ILogger. Ниже приведены все реализованные методы интерфейса:

public void LogAppError(Exception exception, string message,

  [CallerMemberName] string memberName = "",

  [CallerFilePath] string sourceFilePath = "",

  [CallerLineNumber] int sourceLineNumber = 0)

{

  var list = PushProperties(memberName, sourceFilePath, sourceLineNumber);

  _logger.LogError(exception, message);

  foreach (var item in list)

  {

    item.Dispose;

  }

}

public void LogAppError(string message,

  [CallerMemberName] string memberName = "",

  [CallerFilePath] string sourceFilePath = "",

  [CallerLineNumber] int sourceLineNumber = 0)

{

  var list = PushProperties(memberName, sourceFilePath, sourceLineNumber);

  _logger.LogError(message);

  foreach (var item in list)

  {

    item.Dispose;

  }

}

public void LogAppCritical(Exception exception, string message,

  [CallerMemberName] string memberName = "",

  [CallerFilePath] string sourceFilePath = "",

  [CallerLineNumber] int sourceLineNumber = 0)

{

  var list = PushProperties(memberName, sourceFilePath, sourceLineNumber);

  _logger.LogCritical(exception, message);

  foreach (var item in list)

  {

    item.Dispose;

  }

}

public void LogAppCritical(string message,

  [CallerMemberName] string memberName = "",

  [CallerFilePath] string sourceFilePath = "",

  [CallerLineNumber] int sourceLineNumber = 0)

{

  var list = PushProperties(memberName, sourceFilePath, sourceLineNumber);

  _logger.LogCritical(message);

  foreach (var item in list)

  {

    item.Dispose;

  }

}

public void LogAppDebug(string message,

  [CallerMemberName] string memberName = "",

  [CallerFilePath] string sourceFilePath = "",

  [CallerLineNumber] int sourceLineNumber = 0)

{

  var list = PushProperties(memberName, sourceFilePath, sourceLineNumber);

  _logger.LogDebug(message);

  foreach (var item in list)

  {

    item.Dispose;

  }

}

public void LogAppTrace(string message,

  [CallerMemberName] string memberName = "",

  [CallerFilePath] string sourceFilePath = "",

  [CallerLineNumber] int sourceLineNumber = 0)

{

  var list = PushProperties(memberName, sourceFilePath, sourceLineNumber);

  _logger.LogTrace(message);

  foreach (var item in list)

  {

    item.Dispose;

  }

}

public void LogAppInformation(string message,

  [CallerMemberName] string memberName = "",

  [CallerFilePath] string sourceFilePath = "",

  [CallerLineNumber] int sourceLineNumber = 0)

{

Перейти на страницу:

Похожие книги