nuget.org : concurrentfilewriter
A class library for managing multi-threaded sequential write access to one or more files. It is capable of flushing writes from multiple threads in batches by either hitting a specified size threshold or a specified inactivity time limit. It is also possible to write this batching information within the output file(s). Note: This class should be injected as a single or static instance shared across all process threads. Files will be locked exclusively from the first Write() call until FlushAndClose() or Dispose() is called (presently one of these *must* be explicitly called to ensure all data is flushed). The ConcurrentFileWriter class can be found as an extension of System.IO *** Full debugging source/symbols are available from http://srv.symbolsource.org/pdb/Public Usage Example: var cfw = new ConcurrentFileWriter(new ConcurrentFileWriterSettings { flushTimeInMilliseconds = 5000, flushSizeInBytes = 10000, showWriteBatchingMarkers = true }); //Pre-lock file (not required) cfw.Write(@"c:\temp\test.log", null); //Append a string (byte arrays can also be directly written) cfw.WriteUtf8Line(@"c:\temp\test.log", "Test Line"); //Flush and unlock specified file (stop managing) cfw.CloseManagedFile(@"c:\temp\test.log"); //Flush and unlock all managed files cfw.Dispose();
Registry
- JSON
purl: pkg:nuget/concurrentfilewriter
Keywords:
log
, logging
, sequential
, append
, appender
, file
, writer
, parallel
, concurrent
, multi-thread
, thread-safe
, cross-thread
, managed
, manager
, fast
, optimized
, high-performance
, batch
, batches
, batched
, batching
, auto
, flush
, timer
License:
Latest release: over 9 years ago
First release: over 9 years ago
Downloads: 10,955 total
Last synced: 10 days ago