avoid using the logger outside the code editor

This commit is contained in:
kodjomoustapha 2024-12-20 11:02:04 +01:00
parent a41ccaff22
commit 69c745238d
3 changed files with 14 additions and 4 deletions

View file

@ -66,6 +66,7 @@ class _CodeEditorState extends ConsumerState<CodeEditor> {
final _scrollController = ScrollController();
@override
void initState() {
useLogger = true;
_logStreamController.stream.asBroadcastStream().listen((event) async {
_logsNotifier.value.add(event);
try {
@ -132,7 +133,9 @@ class _CodeEditorState extends ConsumerState<CodeEditor> {
@override
void dispose() {
super.dispose();
_logsNotifier.value.clear();
_scrollController.dispose();
useLogger = false;
}
@override

View file

@ -173,8 +173,11 @@ class LoggerInterceptor extends InterceptorContract {
Future<BaseRequest> interceptRequest({
required BaseRequest request,
}) async {
Logger.add(LoggerLevel.info,
'----- Request -----\n${request.toString()}\nheaders: ${request.headers.toString()}');
if (useLogger) {
Logger.add(LoggerLevel.info,
'----- Request -----\n${request.toString()}\nheaders: ${request.headers.toString()}');
}
return request;
}
@ -186,8 +189,10 @@ class LoggerInterceptor extends InterceptorContract {
final cloudflare = [403, 503].contains(response.statusCode) &&
["cloudflare-nginx", "cloudflare"]
.contains(response.headers["server"]);
Logger.add(LoggerLevel.info,
"----- Response -----\n${response.request?.method}: ${response.request?.url}, statusCode: ${response.statusCode} ${cloudflare ? "Failed to bypass Cloudflare" : ""}");
if (useLogger) {
Logger.add(LoggerLevel.info,
"----- Response -----\n${response.request?.method}: ${response.request?.url}, statusCode: ${response.statusCode} ${cloudflare ? "Failed to bypass Cloudflare" : ""}");
}
if (cloudflare) {
botToast("${response.statusCode} Failed to bypass Cloudflare",
hasCloudFlare: cloudflare, url: response.request!.url.toString());

View file

@ -1,6 +1,8 @@
import 'package:flutter/foundation.dart';
import 'dart:async';
bool useLogger = false;
class Logger {
static final StreamController<(LoggerLevel, String, DateTime)>
_logStreamController =