feat(logging): add logging to todo repository

This commit is contained in:
qzl
2026-04-01 14:32:29 +08:00
parent ad37ca3c64
commit 4fb41d2b36
@@ -3,6 +3,7 @@ import 'dart:async';
import '../../../../data/cache/cache_store.dart';
import '../../../../data/cache/cache_policy.dart';
import '../../../../data/cache/cached_repository.dart';
import '../../../../core/logging/logger.dart';
import '../apis/todo_api.dart';
class TodoRepository extends CachedRepository<List<TodoResponse>> {
@@ -10,6 +11,7 @@ class TodoRepository extends CachedRepository<List<TodoResponse>> {
final TodoApi api;
final CacheInvalidator invalidator;
final Logger _logger = getLogger('features.todo.repository');
TodoRepository({
required this.api,
@@ -50,7 +52,14 @@ class TodoRepository extends CachedRepository<List<TodoResponse>> {
try {
await api.completeTodo(id);
invalidator.invalidate(pendingListKey);
} catch (error) {
_logger.info(message: 'Todo completed', extra: {'todo_id': id});
} catch (error, stackTrace) {
_logger.error(
message: 'Failed to complete todo',
error: error,
stackTrace: stackTrace,
extra: {'todo_id': id},
);
if (cached != null) {
await writeCacheEntry(pendingListKey, cached.value);
}