xsoulspace_logger_universal_storage 1.0.0-beta.0 copy "xsoulspace_logger_universal_storage: ^1.0.0-beta.0" to clipboard
xsoulspace_logger_universal_storage: ^1.0.0-beta.0 copied to clipboard

universal_storage_interface sink adapter for xsoulspace_logger with append snapshots, compaction, and restore hooks.

xsoulspace_logger_universal_storage #

StorageService sink adapter for xsoulspace_logger.

This package writes logs to any backend supported by universal_storage_interface using an append + snapshot compaction model.

Features #

  • Adapter sink: UniversalStorageSink(StorageService, namespacePath).
  • Append file strategy (append.ndjson) for low-latency writes.
  • Periodic compaction into snapshot file (snapshot.json).
  • Snapshot restore hook for last-known-good records.
  • Sequence continuity across restarts.

Installation #

dependencies:
  xsoulspace_logger: ^1.0.0-beta.0
  universal_storage_interface: ">=0.1.0-dev.10 <0.2.0"
  xsoulspace_logger_universal_storage: ^1.0.0-beta.0

Usage #

import 'package:universal_storage_interface/universal_storage_interface.dart';
import 'package:xsoulspace_logger/xsoulspace_logger.dart';
import 'package:xsoulspace_logger_universal_storage/xsoulspace_logger_universal_storage.dart';

Future<void> setupLogging(StorageService storageService) async {
  final sink = UniversalStorageSink(
    storageService,
    'observability/logger',
    config: const UniversalStorageSinkConfig(
      compactionEvery: 1024,
      snapshotMaxRecords: 10000,
    ),
  );

  final logger = Logger(const LoggerConfig(), <LogSink>[sink]);

  logger.warning('sync', 'Remote conflict resolved');
  await logger.flush();

  final restored = await sink.restoreLastKnownGoodSnapshot();
  print('Restored ${restored.length} snapshot records');

  await logger.dispose();
}

Storage files #

  • append.ndjson: incremental append log.
  • snapshot.json: compacted bounded record set with metadata.

Both file names are configurable via UniversalStorageSinkConfig.

License #

MIT

0
likes
150
points
97
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

universal_storage_interface sink adapter for xsoulspace_logger with append snapshots, compaction, and restore hooks.

Topics

#logging #observability #storage #dart #sync

License

MIT (license)

Dependencies

universal_storage_interface, xsoulspace_logger

More

Packages that depend on xsoulspace_logger_universal_storage