feat(logging): add logging to todo repository
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user