Трассировка против логирования и как вписывается log4net?

Мне интересно, в чем разница между ведением журнала и трассировкой.

Разница в основном в том, что трассировка - это более подробный журнал, дающий разработчикам инструмент для отладки приложений во время выполнения?

Я экспериментировал с log4net и делал логи. Теперь мне интересно, должен ли я также выполнять трассировку и могу ли я / должен использовать log4net для этой цели. Должен ли я выполнять трассировку с log4net и есть ли какой-то уровень трассировки для логгеров log4net? Должен ли я использовать другой уровень журнала для целей отладки или трассировки, или можно использовать один и тот же? Можете ли вы привести простой пример того, как я буду вести логи и трассировку для простого метода?

Изменить: Несмотря на несколько полезных ответов ниже, я все еще не уверен, как я должен делать трассировку, а не ведение журнала.

У меня есть следующий метод на моем бизнес-уровне, и я хочу добавить в него логирование / трассировку. Мне интересно, как это сделать эффективно. Является ли следующий метод приемлемым с точки зрения регистрации / отслеживания? Должны ли сообщения журнала иметь тип Info вместо Debug? Считаются ли отладочные сообщения, которые я записываю, трассировкой? Как бы вы изменили это?


IEnumerable<Car> GetCars()
{
   try
   {
      logger.Debug("Getting cars");
      IEnumerable<Car> cars = CarAccessor.GetCars().ConvertAll(DataAccessToBusinessConverter);
      logger.Debug("Got total of " + cars.Count + " cars"); 
   } catch (Exception e) {
      logger.Error("Error when getting cars", e);
      throw new Exception("Unexpected error when getting cars");
   }
}

Ответы на вопрос(7)

Ваш ответ на вопрос