/// A <see cref="Sink"/> that writes log output to a set of directories.
/// This sink differs from <see cref="FileSink"/> in that it manages multiple log files in a directory, where a new file will be created every time the sink is created.
/// Additionally, this sink will automatically delete the oldest log files if the amount of files exceeds a set limit.
/// The set of old files that are currently in the directory that this sink is referencing, and that have not been deleted on construction.
/// The files in this list are ordered by creation date in ascending order, meaning that the first entry is the least recently created one.
/// Note that this collection does not contain the <see cref="CurrentFile"/>.
/// </summary>
publicreadonlyIList<FileInfo>OldFiles;
/// <summary>
/// The <see cref="DirectoryInfo"/> that this sink is currently using as its destination to store the <see cref="OldFiles"/> and <see cref="CurrentFile"/>.
/// </summary>
publicreadonlyDirectoryInfoDirectory;
/// <summary>
/// The <see cref="FileInfo"/> that this sink is currently using as its destination.
/// Creates a new directory sink with the given settings.
/// </summary>
/// <param name="directory">The directory that this sink should operate in</param>
/// <param name="maxFiles">The maximum amount of files that can exist in the directory before the oldest one gets deleted. 10 by default.</param>
/// <param name="reopenOnWrite">Whether this sink should reopen the file every time it logs to it. If this is false, the file will be kept open by this sink.</param>
/// <param name="dateFormat">The way the name of the current log file gets formatted. <code>yy-MM-dd_HH-mm-ss</code> by default.</param>
/// Creates a new directory sink with the given settings.
/// </summary>
/// <param name="directory">The directory that this sink should operate in</param>
/// <param name="maxFiles">The maximum amount of files that can exist in the directory before the oldest one gets deleted. 10 by default.</param>
/// <param name="reopenOnWrite">Whether this sink should reopen the file every time it logs to it. If this is false, the file will be kept open by this sink.</param>
/// <param name="dateFormat">The way the name of the current log file gets formatted. <code>yy-MM-dd_HH-mm-ss</code> by default.</param>