AILogStrategy constructor

AILogStrategy({
  1. required String apiKey,
  2. String baseUrl = 'https://api.openai.com/v1',
  3. bool enableAnalysis = false,
  4. bool enableInsights = false,
  5. bool enableAnomalyDetection = false,
  6. Duration analysisInterval = const Duration(minutes: 5),
  7. int batchSize = 100,
})

Implementation

AILogStrategy({
  required String apiKey,
  String baseUrl = 'https://api.openai.com/v1',
  bool enableAnalysis = false, // Disabled by default for security
  bool enableInsights = false, // Disabled by default for security
  bool enableAnomalyDetection = false, // Disabled by default for security
  Duration analysisInterval = const Duration(minutes: 5),
  int batchSize = 100,
}) : _apiKey = apiKey,
     _baseUrl = baseUrl,
     _httpClient = HttpClient(),
     _enableAnalysis = enableAnalysis,
     _enableInsights = enableInsights,
     _enableAnomalyDetection = enableAnomalyDetection,
     _analysisInterval = analysisInterval,
     _batchSize = batchSize {
  // Security warning if analysis is enabled
  if (enableAnalysis || enableInsights || enableAnomalyDetection) {
    developer.log(
      '⚠️ AI Strategy: Analysis enabled. Logs will be sent to external AI services. '
      'Ensure sensitive data is sanitized and you understand data privacy implications.',
      name: 'AILogStrategy',
    );
  }

  logLevel = LogLevel.info;
  loggerLogLevel = LogLevel.info;
  supportedEvents = [
    LogEvent(
      eventName: 'ai_analysis',
      eventMessage: 'AI analysis of log patterns',
    ),
    LogEvent(eventName: 'ai_insight', eventMessage: 'AI-generated insight'),
    LogEvent(eventName: 'ai_anomaly', eventMessage: 'AI-detected anomaly'),
  ];
}