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.

example/main.dart

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> main() async {
  // Replace with a real provider implementation from your project.
  final service = StorageService(_NoopStorageProvider());

  final sink = UniversalStorageSink(service, 'observability/logger');
  final logger = Logger(const LoggerConfig(), <LogSink>[sink]);

  logger.warning('example', 'Stored through StorageService adapter');

  await logger.flush();
  await logger.dispose();
}

final class _NoopStorageProvider implements StorageProvider {
  @override
  Future<void> initWithConfig(final StorageConfig config) async {}

  @override
  Future<bool> isAuthenticated() async => true;

  @override
  Future<FileOperationResult> createFile(
    final String path,
    final String content, {
    final String? commitMessage,
  }) async => FileOperationResult.created(path: path);

  @override
  Future<String?> getFile(final String path) async => null;

  @override
  Future<FileOperationResult> updateFile(
    final String path,
    final String content, {
    final String? commitMessage,
  }) async => FileOperationResult.updated(path: path);

  @override
  Future<FileOperationResult> deleteFile(
    final String path, {
    final String? commitMessage,
  }) async => FileOperationResult.deleted(path: path);

  @override
  Future<List<FileEntry>> listDirectory(final String directoryPath) async =>
      <FileEntry>[];

  @override
  Future<void> restore(final String path, {final String? versionId}) async {}

  @override
  bool get supportsSync => false;

  @override
  Future<void> sync({
    final String? pullMergeStrategy,
    final String? pushConflictStrategy,
  }) async {}

  @override
  Future<void> dispose() async {}
}
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