Śledzenie a rejestrowanie i jak pasuje log4net?

Zastanawiam się, jaka jest różnica między rejestrowaniem a śledzeniem.

Czy w zasadzie różnica polega na tym, że śledzenie jest bardziej szczegółowym dziennikiem, dając programistom narzędzie do debugowania aplikacji w czasie wykonywania?

Eksperymentowałem z log4net i rejestrowaniem. Teraz zastanawiam się, czy powinienem robić śledzenie i czy mogę / powinienem użyć log4net do tego celu. Czy powinienem robić śledzenie z log4net i czy jest jakiś poziom śledzenia dla loggerów log4net? Czy powinienem używać innego poziomu dziennika do celów debugowania i śledzenia, czy może używać tego samego? Czy możesz podać prosty przykład, jak zrobić rejestrowanie i śledzenie prostej metody?

Edytuj: Pomimo kilku pomocnych odpowiedzi poniżej nadal nie jestem pewien, jak powinienem postępować w śledzeniu w porównaniu z rejestrowaniem.

Mam następującą metodę w mojej warstwie biznesowej i chcę dodać do niej rejestrowanie / śledzenie. Zastanawiam się, jak to zrobić skutecznie. Czy poniższa metoda jest dopuszczalna pod względem rejestrowania / śledzenia? Czy komunikaty dziennika powinny być typu Info zamiast Debugowania? Czy komunikaty debugowania, które loguję, są uważane za śladowe? Jak byś to zmienił?


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");
   }
}

questionAnswers(7)

yourAnswerToTheQuestion