Skip to content

Commit 0b49c22

Browse files
committed
feat: 添加日志导出功能并统一使用全局logger
refactor: 替换分散的Logger实例为全局appLogger build: 添加path_provider和share_plus依赖
1 parent 86b0944 commit 0b49c22

22 files changed

+354
-136
lines changed

lib/data/repository/bookmark/bookmark_repository.dart

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
import 'dart:math';
22

3-
import 'package:logger/logger.dart';
43
import 'package:readeck_app/data/service/readeck_api_client.dart';
54
import 'package:readeck_app/domain/models/bookmark/bookmark.dart';
65
import 'package:readeck_app/domain/models/bookmark/label_info.dart';
6+
import 'package:readeck_app/main.dart';
77
import 'package:result_dart/result_dart.dart';
88

99
class BookmarkRepository {
1010
BookmarkRepository(this._readeckApiClient);
1111

1212
final ReadeckApiClient _readeckApiClient;
1313

14-
final _log = Logger();
15-
1614
AsyncResult<List<Bookmark>> getBookmarksByIds(List<String> ids) async {
1715
return _readeckApiClient.getBookmarks(ids: ids);
1816
}
@@ -62,7 +60,7 @@ class BookmarkRepository {
6260
return Success(shuffled.take(5).toList());
6361
}
6462

65-
_log.w('获取所有未读书签失败: $allBookmarks');
63+
appLogger.w('获取所有未读书签失败: $allBookmarks');
6664
return allBookmarks;
6765
}
6866

lib/data/repository/daily_read_history/daily_read_history_repository.dart

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import 'package:logger/logger.dart';
21
import 'package:readeck_app/data/service/database_service.dart';
32
import 'package:readeck_app/domain/models/bookmark/bookmark.dart';
43
import 'package:readeck_app/domain/models/daily_read_history/daily_read_history.dart';
4+
import 'package:readeck_app/main.dart';
55
import 'package:readeck_app/utils/option_data.dart';
66
import 'package:result_dart/result_dart.dart';
77

@@ -10,8 +10,6 @@ class DailyReadHistoryRepository {
1010

1111
final DatabaseService _database;
1212

13-
final _log = Logger();
14-
1513
AsyncResult<OptionData<DailyReadHistory>> getTodayDailyReadHistory() async {
1614
if (!_database.isOpen()) {
1715
await _database.open();
@@ -21,7 +19,7 @@ class DailyReadHistoryRepository {
2119
where: "DATE(created_date) = DATE('now', 'localtime')");
2220

2321
if (result.isError()) {
24-
_log.e("获取今日阅读历史失败: ${result.exceptionOrNull()?.toString()}");
22+
appLogger.e("获取今日阅读历史失败: ${result.exceptionOrNull()?.toString()}");
2523
return Failure(Exception(result.exceptionOrNull()));
2624
}
2725

@@ -38,7 +36,7 @@ class DailyReadHistoryRepository {
3836

3937
final today = await getTodayDailyReadHistory();
4038
if (today.isError()) {
41-
_log.e("获取今日阅读历史失败: ${today.exceptionOrNull()?.toString()}");
39+
appLogger.e("获取今日阅读历史失败: ${today.exceptionOrNull()?.toString()}");
4240
return Failure(Exception(today.exceptionOrNull()));
4341
}
4442

lib/data/repository/settings/settings_repository.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
import 'package:logger/logger.dart';
21
import 'package:readeck_app/data/service/readeck_api_client.dart';
32
import 'package:readeck_app/data/service/shared_preference_service.dart';
3+
import 'package:readeck_app/main.dart';
44
import 'package:result_dart/result_dart.dart';
55

66
class SettingsRepository {
77
SettingsRepository(this._apiClient, this._prefsService);
88

99
final ReadeckApiClient _apiClient;
1010
final SharedPreferencesService _prefsService;
11-
final _log = Logger();
1211

1312
AsyncResult<bool> isApiConfigured() async {
1413
if (await _prefsService.getReadeckApiHost().getOrDefault('') == '') {
@@ -23,13 +22,13 @@ class SettingsRepository {
2322
AsyncResult<void> saveApiConfig(String host, String token) async {
2423
var res = await _prefsService.setReadeckApiHost(host);
2524
if (res.isError()) {
26-
_log.e("保存API配置失败(host)", error: res.exceptionOrNull());
25+
appLogger.e("保存API配置失败(host)", error: res.exceptionOrNull());
2726
return res;
2827
}
2928

3029
res = await _prefsService.setReadeckApiToken(token);
3130
if (res.isError()) {
32-
_log.e("保存API配置失败(token)", error: res.exceptionOrNull());
31+
appLogger.e("保存API配置失败(token)", error: res.exceptionOrNull());
3332
return res;
3433
}
3534

@@ -42,13 +41,13 @@ class SettingsRepository {
4241
AsyncResult<(String, String)> getApiConfig() async {
4342
var host = await _prefsService.getReadeckApiHost();
4443
if (host.isError()) {
45-
_log.e("获取API配置失败(host)", error: host.exceptionOrNull());
44+
appLogger.e("获取API配置失败(host)", error: host.exceptionOrNull());
4645
return Failure(Exception(host.exceptionOrNull()));
4746
}
4847

4948
var token = await _prefsService.getReadeckApiToken();
5049
if (token.isError()) {
51-
_log.e("获取API配置失败(token)", error: token.exceptionOrNull());
50+
appLogger.e("获取API配置失败(token)", error: token.exceptionOrNull());
5251
return Failure(Exception(token.exceptionOrNull()));
5352
}
5453

lib/data/service/database_service.dart

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'dart:convert';
2-
import 'package:logger/logger.dart';
32
import 'package:path/path.dart';
43
import 'package:readeck_app/domain/models/daily_read_history/daily_read_history.dart';
4+
import 'package:readeck_app/main.dart';
55
import 'package:result_dart/result_dart.dart';
66
import 'package:sqflite/sqflite.dart';
77
import 'package:sqflite_common/sqflite_logger.dart';
@@ -17,7 +17,6 @@ class DatabaseService {
1717
static const _kColumnBookmarkIds = 'bookmark_ids';
1818

1919
Database? _database;
20-
final _log = Logger();
2120

2221
bool isOpen() {
2322
return _database?.isOpen ?? false;
@@ -35,9 +34,9 @@ class DatabaseService {
3534
try {
3635
final result = await db.rawQuery('SELECT sqlite_version()');
3736
final version = result.first.values.first;
38-
_log.i('Current SQLite version: $version');
37+
appLogger.i('Current SQLite version: $version');
3938
} catch (e) {
40-
_log.e('Failed to get SQLite version', error: e);
39+
appLogger.e('Failed to get SQLite version', error: e);
4140
}
4241
return db.execute(
4342
'''CREATE TABLE $_kTableDailyReadHistory (
@@ -60,15 +59,17 @@ class DatabaseService {
6059
try {
6160
final id = await _database!.insert(_kTableDailyReadHistory,
6261
{_kColumnBookmarkIds: jsonEncode(bookmarkIds)});
63-
_log.d(
62+
appLogger.i(
6463
"Inserted daily read history with id: $id. bookmarkIds: $bookmarkIds");
6564
return Success(id);
6665
} on Exception catch (e) {
67-
_log.e("Failed to insert daily read history. bookmarkIds: $bookmarkIds",
66+
appLogger.e(
67+
"Failed to insert daily read history. bookmarkIds: $bookmarkIds",
6868
error: e);
6969
return Failure(e);
7070
} catch (e) {
71-
_log.e("Failed to insert daily read history. bookmarkIds: $bookmarkIds",
71+
appLogger.e(
72+
"Failed to insert daily read history. bookmarkIds: $bookmarkIds",
7273
error: e);
7374
return Failure(Exception(e));
7475
}
@@ -86,13 +87,13 @@ class DatabaseService {
8687
where: '$_kColumnId = ?',
8788
whereArgs: [obj.id],
8889
);
89-
_log.d("Updated daily read history with id: ${obj.id}. data: $obj");
90+
appLogger.i("Updated daily read history with id: ${obj.id}. data: $obj");
9091
return Success(count);
9192
} on Exception catch (e) {
92-
_log.e("Failed to update daily read history. data: $obj", error: e);
93+
appLogger.e("Failed to update daily read history. data: $obj", error: e);
9394
return Failure(e);
9495
} catch (e) {
95-
_log.e("Failed to update daily read history. data: $obj", error: e);
96+
appLogger.e("Failed to update daily read history. data: $obj", error: e);
9697
return Failure(Exception(e));
9798
}
9899
}
@@ -124,17 +125,17 @@ class DatabaseService {
124125
limit: limit,
125126
offset: offset,
126127
);
127-
_log.d("Retrieved ${maps.length} daily read histories. data: $maps");
128+
appLogger.i("Retrieved ${maps.length} daily read histories. data: $maps");
128129
final List<DailyReadHistory> histories = [];
129130
for (final map in maps) {
130131
histories.add(DailyReadHistory.fromJson(map));
131132
}
132133
return Success(histories);
133134
} on Exception catch (e) {
134-
_log.e("Failed to get daily read histories", error: e);
135+
appLogger.e("Failed to get daily read histories", error: e);
135136
return Failure(e);
136137
} catch (e) {
137-
_log.e("Failed to get daily read histories", error: e);
138+
appLogger.e("Failed to get daily read histories", error: e);
138139
return Failure(Exception(e));
139140
}
140141
}
@@ -148,13 +149,13 @@ class DatabaseService {
148149
try {
149150
// 清空每日阅读历史表
150151
await _database!.delete(_kTableDailyReadHistory);
151-
_log.i("Cleared all data from database");
152+
appLogger.i("Cleared all data from database");
152153
return const Success(unit);
153154
} on Exception catch (e) {
154-
_log.e("Failed to clear all data from database", error: e);
155+
appLogger.e("Failed to clear all data from database", error: e);
155156
return Failure(e);
156157
} catch (e) {
157-
_log.e("Failed to clear all data from database", error: e);
158+
appLogger.e("Failed to clear all data from database", error: e);
158159
return Failure(Exception(e));
159160
}
160161
}

0 commit comments

Comments
 (0)