feat(logging): add logging to auth feature

This commit is contained in:
qzl
2026-04-01 14:28:30 +08:00
parent 2b12d1ef79
commit 63d225c567
5 changed files with 138 additions and 15 deletions
@@ -5,6 +5,7 @@ import 'package:formz/formz.dart';
import 'package:equatable/equatable.dart';
import '../../../../data/network/api_exception.dart';
import '../../../../core/l10n/l10n.dart';
import '../../../../core/logging/logger.dart';
import '../../data/repositories/auth_repository.dart';
import '../../data/models/auth_response.dart';
import '../../../../shared/forms/inputs.dart';
@@ -78,6 +79,7 @@ class LoginState extends Equatable {
class LoginCubit extends Cubit<LoginState> {
final AuthRepository _repository;
final Logger _logger = getLogger('features.auth.login');
Timer? _resendTimer;
LoginCubit(this._repository) : super(const LoginState());
@@ -149,10 +151,16 @@ class LoginCubit extends Cubit<LoginState> {
),
);
return true;
} catch (e) {
} catch (e, stackTrace) {
if (isClosed) {
return false;
}
_logger.error(
message: 'Failed to send OTP',
error: e,
stackTrace: stackTrace,
extra: {'phone': requestPhone},
);
final message = e is ApiException
? e.message
: L10n.current.authSendCodeFailed;
@@ -176,10 +184,11 @@ class LoginCubit extends Cubit<LoginState> {
}
emit(state.copyWith(status: FormzSubmissionStatus.success));
return response;
} catch (e) {
} catch (e, stackTrace) {
if (isClosed) {
return null;
}
_logger.error(message: 'Login failed', error: e, stackTrace: stackTrace);
final message = e is ApiException ? e.message : e.toString();
emit(
state.copyWith(