Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/NLog/Config/SimpleConfigurator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ public static void ConfigureForTargetLogging(Target target, LogLevel minLevel)
}

/// <summary>
/// Obsolete and replaced by <see cref="LogManager.Setup()"/> and <see cref="NLog.SetupLoadConfigurationExtensions.WriteToFile"/> with NLog v5.2.
/// Obsolete and replaced by <see cref="LogManager.Setup()"/> and <see cref="NLog.SetupLoadConfigurationExtensions.WriteToFile(ISetupConfigurationTargetBuilder, Layouts.Layout, Layouts.Layout, System.Text.Encoding, LineEndingMode, bool, long, int, int)"/> with NLog v5.2.
///
/// Configures NLog for file logging so that all messages above and including
/// the <see cref="NLog.LogLevel.Info"/> level are written to the specified file.
Expand All @@ -130,7 +130,7 @@ public static void ConfigureForFileLogging(string fileName)
}

/// <summary>
/// Obsolete and replaced by <see cref="LogManager.Setup()"/> and <see cref="NLog.SetupLoadConfigurationExtensions.WriteToFile"/> with NLog v5.2.
/// Obsolete and replaced by <see cref="LogManager.Setup()"/> and <see cref="NLog.SetupLoadConfigurationExtensions.WriteToFile(ISetupConfigurationTargetBuilder, Layouts.Layout, Layouts.Layout, System.Text.Encoding, LineEndingMode, bool, long, int, int)"/> with NLog v5.2.
///
/// Configures NLog for file logging so that all messages above and including
/// the specified level are written to the specified file.
Expand Down
45 changes: 41 additions & 4 deletions src/NLog/SetupLoadConfigurationExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,40 @@ public static void WriteToDebugConditional(this ISetupConfigurationTargetBuilder
configBuilder.WriteToDebug(layout);
}

/// <summary>
/// Write to <see cref="NLog.Targets.FileTarget"/>
/// </summary>
/// <param name="configBuilder">Fluent interface parameter.</param>
/// <param name="fileName"></param>
/// <param name="layout">Override the default Layout for output</param>
/// <param name="encoding">Override the default Encoding for output (Default = UTF8)</param>
/// <param name="lineEnding">Override the default line ending characters (Ex. <see cref="LineEndingMode.LF"/> without CR)</param>
/// <param name="keepFileOpen">Keep log file open instead of opening and closing it on each logging event</param>
/// <param name="archiveAboveSize">Size in bytes where log files will be automatically archived.</param>
/// <param name="maxArchiveFiles">Maximum number of archive files that should be kept.</param>
/// <param name="maxArchiveDays">Maximum days of archive files that should be kept.</param>
public static ISetupConfigurationTargetBuilder WriteToFile(this ISetupConfigurationTargetBuilder configBuilder, Layout fileName, Layout layout = null, System.Text.Encoding encoding = null, LineEndingMode lineEnding = null, bool keepFileOpen = true, long archiveAboveSize = -1, int maxArchiveFiles = -1, int maxArchiveDays = -1)
{
Guard.ThrowIfNull(fileName);

var fileTarget = new FileTarget();
fileTarget.FileName = fileName;
fileTarget.KeepFileOpen = keepFileOpen;
if (layout != null)
fileTarget.Layout = layout;
if (encoding != null)
fileTarget.Encoding = encoding;
if (lineEnding != null)
fileTarget.LineEnding = lineEnding;
if (archiveAboveSize > 0)
fileTarget.ArchiveAboveSize = archiveAboveSize;
if (maxArchiveFiles >= 0)
fileTarget.MaxArchiveFiles = maxArchiveFiles;
if (maxArchiveDays > 0)
fileTarget.MaxArchiveDays = maxArchiveDays;
return configBuilder.WriteTo(fileTarget);
}

/// <summary>
/// Write to <see cref="NLog.Targets.FileTarget"/>
/// </summary>
Expand All @@ -576,7 +610,7 @@ public static void WriteToDebugConditional(this ISetupConfigurationTargetBuilder
/// <param name="archiveAboveSize">Size in bytes where log files will be automatically archived.</param>
/// <param name="maxArchiveFiles">Maximum number of archive files that should be kept.</param>
/// <param name="maxArchiveDays">Maximum days of archive files that should be kept.</param>
public static ISetupConfigurationTargetBuilder WriteToFile(this ISetupConfigurationTargetBuilder configBuilder, Layout fileName, Layout layout = null, System.Text.Encoding encoding = null, LineEndingMode lineEnding = null, bool keepFileOpen = true, bool concurrentWrites = false, long archiveAboveSize = 0, int maxArchiveFiles = 0, int maxArchiveDays = 0)
public static ISetupConfigurationTargetBuilder WriteToFile(this ISetupConfigurationTargetBuilder configBuilder, Layout fileName, Layout layout, System.Text.Encoding encoding, LineEndingMode lineEnding, bool keepFileOpen, bool concurrentWrites, long archiveAboveSize = -1, int maxArchiveFiles = -1, int maxArchiveDays = -1)
{
Guard.ThrowIfNull(fileName);

Expand All @@ -590,9 +624,12 @@ public static ISetupConfigurationTargetBuilder WriteToFile(this ISetupConfigurat
fileTarget.LineEnding = lineEnding;
fileTarget.KeepFileOpen = keepFileOpen;
fileTarget.ConcurrentWrites = concurrentWrites;
fileTarget.ArchiveAboveSize = archiveAboveSize;
fileTarget.MaxArchiveFiles = maxArchiveFiles;
fileTarget.MaxArchiveDays = maxArchiveDays;
if (archiveAboveSize > 0)
fileTarget.ArchiveAboveSize = archiveAboveSize;
if (maxArchiveFiles >= 0)
fileTarget.MaxArchiveFiles = maxArchiveFiles;
if (maxArchiveDays > 0)
fileTarget.MaxArchiveDays = maxArchiveDays;
return configBuilder.WriteTo(fileTarget);
}

Expand Down
Loading