update print all segment

This commit is contained in:
Efril
2026-04-03 17:44:04 +07:00
parent a0db13feb4
commit 46dfb7e44e
10 changed files with 840 additions and 11 deletions
@@ -4,7 +4,6 @@ import 'package:firebase_crashlytics/firebase_crashlytics.dart';
class CrashlyticsInterceptor extends Interceptor {
@override
void onError(DioException err, ErrorInterceptorHandler handler) {
// Log semua error ke Crashlytics
FirebaseCrashlytics.instance.recordError(
err,
err.stackTrace,
@@ -46,6 +45,32 @@ class CrashlyticsInterceptor extends Interceptor {
'Status Code: ${err.response?.statusCode ?? 'N/A'}',
'Error Type: ${err.type.name}',
'Message: ${err.message ?? 'No message'}',
// Tambahan
'Request Data: ${_sanitizeData(err.requestOptions.data)}',
'Response Body: ${err.response?.data ?? 'No response'}',
'Headers: ${err.requestOptions.headers.entries.where((e) => e.key.toLowerCase() != 'authorization').toList()}',
];
}
/// Hindari log data sensitif
dynamic _sanitizeData(dynamic data) {
if (data == null) return 'No data';
if (data is Map) {
final sanitized = Map.from(data);
const sensitiveKeys = [
'password',
'token',
'secret',
'pin',
'card_number',
];
for (final key in sensitiveKeys) {
if (sanitized.containsKey(key)) {
sanitized[key] = '***';
}
}
return sanitized;
}
return data;
}
}