kejpa Posted February 22, 2006 Posted February 22, 2006 Hi, I want to make sure that my trace.Writeline's are properly written to my trace file and so I created a Threading.Timer like... _trdStreamFlusher = New Threading.Timer(AddressOf StreamFlusher, _Stream, 10000, 10000) ' -Snip- Private Shared Sub StreamFlusher(ByVal file As Object) Dim oStream As IO.FileStream = DirectCast(file, IO.FileStream) Try oStream.Flush() Catch ex As Exception Console.WriteLine(ex.Message) End Try End Sub but the file don't contain all my trace information :( Any ideas? TIA /Kejpa Quote
Administrators PlausiblyDamp Posted February 22, 2006 Administrators Posted February 22, 2006 Could you not either just call flush when you add data to the stream or alternatively one of the overloads for the FileStream's constructor allows you to specify the buffer size so you could choose a more appropriate value. Also IIRC instance members of the FileStream object are not thread safe - therefore you could hit a race condition if the timer fires at the same time as you are adding data to the stream. Quote Posting Guidelines FAQ Post Formatting Intellectuals solve problems; geniuses prevent them. -- Albert Einstein
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.