import 'package:flutter/material.dart'; import 'dart:async'; import 'dart:io'; import 'package:persistent/log/persistent_log.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState(); } class _MyAppState extends State { String _platformVersion = 'Unknown'; @override void initState() { super.initState(); initPlatformState(); } // Platform messages are asynchronous, so we initialize in an async method. Future initPlatformState() async { const String platformVersion = "Unknown"; // If the widget was removed from the tree while the asynchronous platform // message was in flight, we want to discard the reply rather than calling // setState to update our non-existent appearance. if (!mounted) return; setState(() { _platformVersion = platformVersion; }); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text('Plugin example app'), ), body: Center( child: Column( children: [ TextButton( onPressed: () { PersistentLog.createLogger(logName: "aa_1",formatter: Formatter.raw,echo: false); }, child: Container( color: Colors.grey, width: 100, height: 40, child: Center( child: Text("create logger"), ), )), TextButton( onPressed: () { PersistentLog.clearLogger(logName: "aa_1"); }, child: Container( color: Colors.grey, width: 100, height: 40, child: Center( child: Text("clear logger"), ), )), TextButton( onPressed: () { PersistentLog.log(logName: "aa_1", message: "message"); }, child: Container( color: Colors.grey, width: 100, height: 40, child: Center( child: Text(" log"), ), )), TextButton( onPressed: ()async{ PersistentLog.getLogRootDir().then((file) { final path = file.path; print("path:$path"); }); }, child: Container( color: Colors.grey, width: 100, height: 40, child: Center( child: Text("root dir"), ), )), ], ), ), ), ); } }