using System;
namespace DesktopBot.Models
{
///
/// Configurazione globale per i limiti di memorizzazione dei log e dati storici.
/// I valori sono conservativamente alti per mantenere il massimo di informazioni possibili.
///
public class LoggingConfiguration
{
///
/// Numero massimo di elementi nel log del bot (BotLog).
/// Default: 5000 (mantiene ~8-10 ore di trading con CheckIntervalSeconds=60).
///
public int MaxBotLogEntries { get; set; } = 5000;
///
/// Numero massimo di elementi nello storico trade (TradeHistory).
/// Default: 2000 (mantiene mesi di operazioni).
///
public int MaxTradeHistoryEntries { get; set; } = 2000;
///
/// Numero massimo di elementi nel log attività della dashboard (ActivityLog).
/// Default: 5000 (cronologia completa della sessione di trading).
///
public int MaxActivityLogEntries { get; set; } = 5000;
///
/// Numero massimo di elementi nel log live globale (LiveLog).
/// Default: 10000 (log dettagliato completo di tutte le operazioni).
///
public int MaxLiveLogEntries { get; set; } = 10000;
///
/// Numero massimo di punti dati nel grafico dei prezzi (PriceData).
/// Default: 3000 (mantiene ore di dati a 1min, giorni a 15min).
///
public int MaxPriceDataPoints { get; set; } = 3000;
///
/// Clona la configurazione corrente.
///
public LoggingConfiguration Clone()
{
return new LoggingConfiguration
{
MaxBotLogEntries = this.MaxBotLogEntries,
MaxTradeHistoryEntries = this.MaxTradeHistoryEntries,
MaxActivityLogEntries = this.MaxActivityLogEntries,
MaxLiveLogEntries = this.MaxLiveLogEntries,
MaxPriceDataPoints = this.MaxPriceDataPoints
};
}
}
}