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

Fiona logger package project.

example/lib/main.dart

import 'package:fiona_logger/fiona_logger.dart';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  GetIt.instance.registerFactory<LogDataRepository>(() => LogInConsole());
  GetIt.instance
      .registerFactory<FionaLogger>(() => FionaLogger(level: Level.verbose));

  runApp(const MyApp());
}

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'i18n Example',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: MyHomePage(title: 'i18n Example Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({super.key, required this.title});
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  FionaLogger logger = GetIt.instance<FionaLogger>();

  @override
  Widget build(BuildContext context) {
    List<Widget> children = List.empty(growable: true);

    String message = "Example message to log";

    children.add(Center(
        child: Text(
      "FionaLogger example",
      style: const TextStyle(fontSize: 20),
    )));

    children.add(Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        Expanded(
            flex: 5,
            child: ElevatedButton(
              onPressed: () async {
                logger.d(message);
                setState(() {});
              },
              child: const Text("Debug log"),
            )),
        Expanded(
            flex: 5,
            child: ElevatedButton(
              onPressed: () async {
                logger.i(message);
                setState(() {});
              },
              child: const Text("Info log"),
            ))
      ],
    ));

    children.add(Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        Expanded(
            flex: 5,
            child: ElevatedButton(
              onPressed: () async {
                logger.e(message);
                setState(() {});
              },
              child: const Text("Error log"),
            )),
        Expanded(
            flex: 5,
            child: ElevatedButton(
              onPressed: () async {
                logger.w(message);
                setState(() {});
              },
              child: const Text("Warning log"),
            )),
      ],
    ));
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: ListView(
        children: [
          Padding(
            padding: const EdgeInsets.all(10),
            child: Column(
              children: children,
            ),
          )
        ],
      ),
    );
  }
}
0
likes
140
points
29
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Fiona logger package project.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, get_it

More

Packages that depend on fiona_logger