NuGet Package 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();.

Info

Version: 1.0.2.0
Author(s): Tom Brewer
Last Update: Monday, November 30, 2015
.NET Fiddle: Create the first Fiddle
NuGet Url: https://www.nuget.org/packages/ConcurrentFileWriter


Install
Install-Package ConcurrentFileWriter
dotnet add package ConcurrentFileWriter
paket add ConcurrentFileWriter
ConcurrentFileWriter Download (Unzip the "nupkg" after downloading)



Tags



STATS

must-have-score

avg-downloads-per-day

1

days-since-last-release

1828