Rastreamento versus Logging e como o log4net se encaixa?

Eu estou querendo saber sobre qual é a diferença entre log e rastreamento.

A diferença é basicamente que o rastreamento é um log mais detalhado que fornece aos desenvolvedores uma ferramenta para depurar aplicativos em tempo de execução?

Eu tenho experimentado com log4net e fazendo logging. Agora eu estou querendo saber se eu deveria estar fazendo o rastreamento também e se eu poderia / deveria usar o log4net para esse propósito. Devo estar fazendo rastreamento com log4net e há algum nível de rastreamento para loggers log4net? Devo usar um nível de log diferente para fins de depuração e rastreamento ou é aceitável usar o mesmo? Você pode dar um exemplo simples de como eu faria o registro e o rastreamento de um método simples?

Edit: Apesar de algumas respostas úteis abaixo eu ainda não tenho certeza de como eu deveria estar fazendo rastreamento versus log.

Eu tenho o seguinte método na minha camada de negócios e quero adicionar logging / rastreamento para ele. Eu estou querendo saber como fazer isso de forma eficiente. O método a seguir é aceitável em termos de registro / rastreamento? As mensagens de log devem ser do tipo Info em vez de Debug? As mensagens de depuração que estou registrando são consideradas rastreio? Como você mudaria isso?


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