log method

void log(
  1. ZenithLogLevel level,
  2. String template, [
  3. Map<String, dynamic>? properties,
  4. Object? error,
  5. StackTrace? stackTrace,
])

Core log emission method. Applies PII redaction to properties and broadcasts to sinks.

Implementation

void log(
  ZenithLogLevel level,
  String template, [
  Map<String, dynamic>? properties,
  Object? error,
  StackTrace? stackTrace,
]) {
  final sanitizedProperties = _redactPii(properties ?? const {});
  final event = ZenithLogEvent(
    level: level,
    template: template,
    properties: sanitizedProperties,
    timestamp: DateTime.now(),
    error: error,
    stackTrace: stackTrace,
  );

  for (final sink in sinks) {
    try {
      sink.emit(event);
    } catch (_) {}
  }
}