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!