Сначала взгляните на классы Trace
и Debug
в System.Diagnostics
. В большинстве случаев, когда люди говорят, что хотят реализовать ведение журнала ошибок, они на самом деле имеют в виду, что они хотят реализовать трассировку или отладку: возможность включать и выключать функции отладки во время компиляции и перенаправлять вывод трассировки в среда выполнения довольно мощная, и использование System.Diagnostics
намного проще, чем разработка всей этой функциональности самостоятельно.
Во-вторых, собираетесь ли вы использовать Trace
или просто написать в StreamWriter
, посмотрите на Environment.SpecialFolder
и Path.GetTempPath
.
И да, как заметил sll, посмотрите и на log4net.