I'm late to the party, but the thing to be careful when logging like this is the length of your text field. You want to trim the head of it every so often (but not too often...). The strategy I've used is to use a max character limit, say 5000, and when that text reaches double the limit, cut it down to the limit.
string LimitText(string Text)
{
int textLimit = 5000;
//let the field grow to double the limit, then chop it in half
if (Text.Length > textLimit * 2)
{
Text = Text.Substring(Text.Length - textLimit, textLimit);
}
return Text;
}
The double limit thing is there to reduce the occurrence of substring operations. Also, this is really only an issue if you use this in a long running programs that continuously add to the text field. (Yes, I also log to a text file and normally use that for debugging. This is more for quick diagnostics...)