There have been cases where I wanted to instrument my app and have the ability to log extensive diagnostic information to a file, starting a new file each day or after the file reached a certain size.  When this is necessary I end up finding myself using TextWriterTraceListener and bootlegging some sort of rollover mechanism.  Recently, it was brought to my attention that the Microsoft.VisualBasic.Logging namespace had a gem called FileLogTraceListener which I had never noticed before because I primarily develop in C#.  I find that this class is magically delicious and I hope that you do too.

Enjoy!