Вы пытались использовать библиотеки EMAB или Log4Net ?
Да ... есть встроенные классы, но вместо того, чтобы строить их "по-старому", лучший способ - использовать установленные фреймворки.
Проверить это >>> Блок приложения MS Logging
И если ваши потребности находятся на самом базовом уровне, System.IO.Log должно быть достаточно.
Для необработанных ошибок ELMAH является самым простым в использовании.