64 lines
1.5 KiB
Dart
64 lines
1.5 KiB
Dart
import 'dart:developer';
|
|
import 'dart:io';
|
|
|
|
import 'package:intl/intl.dart';
|
|
import 'package:path_provider/path_provider.dart';
|
|
|
|
|
|
|
|
|
|
|
|
class LogUtil {
|
|
static LogUtil? _instance;
|
|
|
|
LogUtil._();
|
|
|
|
static LogUtil get instance => _instance ??= LogUtil._();
|
|
|
|
|
|
|
|
Future<void> writeLog(String str) async {
|
|
log("写入日记:$str");
|
|
var date = DateFormat('yyyy-MM-dd HH:mm:ss.SSS').format(DateTime.now());
|
|
var text = "\n${"[$date][LogUtil"}]: $str";
|
|
final Directory directory = await getApplicationDocumentsDirectory();
|
|
final File file = File('${directory.path}/data_log.txt');
|
|
await file.writeAsString(text, mode: FileMode.append);
|
|
}
|
|
|
|
Future<void> clearLog() async {
|
|
final Directory directory = await getApplicationDocumentsDirectory();
|
|
final File file = File('${directory.path}/data_log.txt');
|
|
await file.writeAsString("");
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<String> readLog() async {
|
|
String text="";
|
|
try {
|
|
final Directory directory = await getApplicationDocumentsDirectory();
|
|
final File file = File('${directory.path}/data_log.txt');
|
|
|
|
await file.readAsLines().then(
|
|
(List<String> lines) {
|
|
for (var line in lines) {
|
|
if(text.isNotEmpty){
|
|
text="$text\n\n$line";
|
|
}else {
|
|
text="$text$line";
|
|
}
|
|
|
|
}
|
|
},
|
|
);
|
|
//text = await file.readAsString();
|
|
} catch (e) {
|
|
log("Couldn't read file");
|
|
}
|
|
log("读取日记:$text");
|
|
return text;
|
|
}
|
|
}
|