<?php

namespace CloudXM\SDK\Logging;

/**
 * Log Sink Interface
 *
 * Defines the contract for log sinks that can handle log entries.
 * Sinks are responsible for processing and storing log messages.
 */
interface LogSink
{
    /**
     * Handle a log entry
     *
     * @param string $level    Log level (debug, info, warning, error, critical)
     * @param string $message  Log message
     * @param array  $context  Additional context data
     * @return void
     */
    public function handle(string $level, string $message, array $context = []): void;
}