Трассировка против логирования и как вписывается 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");
}
}