Files
CleanArchitecture-template/MyNewProjectName.Infrastructure/Options/SerilogOptions.cs
2026-02-26 14:04:18 +07:00

55 lines
1.3 KiB
C#

namespace MyNewProjectName.Infrastructure.Options;
/// <summary>
/// Serilog logging configuration options
/// </summary>
public class SerilogOptions
{
public const string SectionName = "Serilog";
/// <summary>
/// Minimum log level
/// </summary>
public string MinimumLevel { get; set; } = "Information";
/// <summary>
/// Override log levels for specific namespaces
/// </summary>
public Dictionary<string, string> Override { get; set; } = new();
/// <summary>
/// Write to console
/// </summary>
public bool WriteToConsole { get; set; } = true;
/// <summary>
/// Write to file
/// </summary>
public bool WriteToFile { get; set; } = true;
/// <summary>
/// File path for logs (relative to application root)
/// </summary>
public string FilePath { get; set; } = "logs/log-.txt";
/// <summary>
/// Rolling interval for log files
/// </summary>
public string RollingInterval { get; set; } = "Day";
/// <summary>
/// Retained file count limit
/// </summary>
public int RetainedFileCountLimit { get; set; } = 31;
/// <summary>
/// Seq server URL (optional)
/// </summary>
public string? SeqUrl { get; set; }
/// <summary>
/// Elasticsearch URL (optional)
/// </summary>
public string? ElasticsearchUrl { get; set; }
}