AILogStrategy constructor
AILogStrategy({})
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'),
];
}