using System;
using System.Collections.Generic;
using System.Text;
// This file is part of the EonaCat project(s) which is released under the Apache License.
// See the LICENSE file or go to https://EonaCat.com/License for full license details.
namespace EonaCat.LogStack.LogClient
{
public class LogCentralOptions
{
public string ServerUrl { get; set; } = "https://localhost:62299";
public string ApiKey { get; set; } = string.Empty;
public string ApplicationName { get; set; } = string.Empty;
public string ApplicationVersion { get; set; } = "1.0.0";
public string Environment { get; set; } = "Production";
public int BatchSize { get; set; } = 1;
public int FlushIntervalSeconds { get; set; } = 5;
public bool EnableFallbackLogging { get; set; } = true;
///
/// Maximum number of entries kept in memory while the server is unreachable.
/// Oldest entries are dropped once this is exceeded to avoid unbounded memory growth.
///
public int MaxQueueSize { get; set; } = 10000;
///
/// Maximum time an entry is kept in memory waiting to be (re)sent. Entries older
/// than this are dropped instead of retried/re-queued forever.
///
public TimeSpan MaxRetention { get; set; } = TimeSpan.FromMinutes(10);
}
}