syn_thread_safe_logger 1.0.1 copy "syn_thread_safe_logger: ^1.0.1" to clipboard
syn_thread_safe_logger: ^1.0.1 copied to clipboard

Thread safe general logger for application. Can show logs in console, write in file.

example/lib/main.dart

import 'dart:isolate';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:syn_thread_safe_logger/syn_thread_safe_logger.dart';

void main() {
  Future<void>(() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Log.initDaemon();

    runApp(const MyApp());
  });
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  void spamLog() {
    void event;
    Isolate.spawn<void>(
      (_) {
        while (true) {
          Log.e('spam');
        }
      },
      event,
      debugName: 'SpamIsolate',
    );
  }

  Future<void> sendFromOtherIsolate() => compute((_) async {
    await Future.delayed(
      const Duration(seconds: 2),
      () => Log.i('Sended from other isolate'),
    );
  }, null);

  @override
  Widget build(BuildContext context) => MaterialApp(
    title: 'Logger Service Demo',
    theme: ThemeData(
      colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
      useMaterial3: true,
    ),
    home: Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () => Log.v('Example verbose message'),
              child: const Text('Example verbose message'),
            ),
            ElevatedButton(
              onPressed: () => Log.d('Example debug message'),
              child: const Text('Example debug message'),
            ),
            ElevatedButton(
              onPressed: () => Log.i('Example info message'),
              child: const Text('Example info message'),
            ),
            ElevatedButton(
              onPressed: () => Log.w('Example warning message'),
              child: const Text('Example warning message'),
            ),
            ElevatedButton(
              onPressed: () => Log.e('Example error message'),
              child: const Text('Example error message'),
            ),
            ElevatedButton(
              onPressed: () => Log.f('Example fatal message'),
              child: const Text('Example fatal message'),
            ),
            ElevatedButton(
              onPressed: sendFromOtherIsolate,
              child: const Text('sendFromOtherIsolate'),
            ),
            ElevatedButton(onPressed: spamLog, child: const Text('SPAM')),
          ],
        ),
      ),
    ),
  );
}
3
likes
150
points
90
downloads

Publisher

verified publishersynaptik.ru

Weekly Downloads

Thread safe general logger for application. Can show logs in console, write in file.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

meta, path, syn_log_interface, syn_logger_console_writer, syn_logger_file_writer, syn_platform_utils

More

Packages that depend on syn_thread_safe_logger