Rastreo versus registro y cómo encaja log4net?

Me pregunto cuál es la diferencia entre el registro y el rastreo.

¿Es la diferencia básicamente que el seguimiento es un registro más detallado que brinda a los desarrolladores una herramienta para depurar aplicaciones en tiempo de ejecución?

He estado experimentando con log4net y haciendo logging. Ahora me pregunto si debería estar haciendo un seguimiento también y si podría / debería usar log4net para ese propósito. ¿Debería hacer un seguimiento con log4net y hay algún nivel de rastreo para los registradores log4net? ¿Debo usar un nivel de registro diferente para fines de depuración y rastreo o está bien usar el mismo? ¿Puede dar un ejemplo simple de cómo haría el registro y el rastreo de un método simple?

Edición: a pesar de algunas respuestas útiles a continuación, todavía no estoy seguro de cómo debo hacer el rastreo en lugar del registro.

Tengo el siguiente método en mi capa de negocios y quiero agregarle el registro / rastreo. Me pregunto cómo hacerlo de manera eficiente. ¿Es aceptable el siguiente método en términos de registro / rastreo? ¿Los mensajes de registro deberían ser de tipo Info en lugar de Debug? ¿Los mensajes de depuración que estoy registrando se consideran traza? ¿Cómo lo cambiarías?


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

Respuestas a la pregunta(7)

Su respuesta a la pregunta