Backend Bugfender per la libreria flutter_infofactory_logger.
Questo package aggiunge un logger BugfenderLogger (implementato come backend di AbstractLogger) che:
- invia i log a Bugfender tramite
package:flutter_bugfender - si configura via variabili di ambiente
- prima tramite
--dart-define(compile-time) - in fallback (solo su piattaforme
dart:io) anche tramitePlatform.environment
- prima tramite
Aggiungi la dipendenza a pubspec.yaml.
import 'package:flutter_infofactory_logger_bugfender/flutter_infofactory_logger_bugfender.dart';
final logger = BugfenderLogger.fromEnvironment();
logger.info('App started', tag: 'app');import 'package:flutter_infofactory_logger/flutter_infofactory_logger.dart';
import 'package:flutter_infofactory_logger_bugfender/flutter_infofactory_logger_bugfender.dart';
final formatter = const DefaultLogFormatter();
final logger = CompositeLogger(
children: [
DebugPrintLogger(minLevel: LogLevel.debug, formatter: formatter),
BugfenderLogger.fromEnvironment(formatter: formatter),
],
);Le chiavi vengono lette in questo ordine:
const String.fromEnvironment(<KEY>)(quindi via--dart-define)Platform.environment[<KEY>](solo dovedart:ioe disponibile)
Nota: su Flutter Web Platform.environment non esiste, quindi usa solo --dart-define.
-
BugfenderLogger.appKey(string)- se vuota/non impostata il logger viene creato ma resta disabilitato (
minLevel = none) e non invia nulla
- se vuota/non impostata il logger viene creato ma resta disabilitato (
-
BugfenderLogger.minLevel(string)- valori:
none|trace|debug|info|warn|error|fatal - alias:
off|disabled=>none
- valori:
-
BugfenderLogger.apiUri(string, URI) -
BugfenderLogger.baseUri(string, URI) -
BugfenderLogger.maximumLocalStorageSize(int) -
BugfenderLogger.printToConsole(bool) -
BugfenderLogger.enableUIEventLogging(bool) -
BugfenderLogger.enableCrashReporting(bool) -
BugfenderLogger.enableAndroidLogcatLogging(bool) -
BugfenderLogger.forceEnabled(bool, opzionale) -
BugfenderLogger.version(string, opzionale) -
BugfenderLogger.build(string, opzionale)
Valori boolean accettati (case-insensitive):
true|false1|0yes|noy|non|offenabled|disabled
flutter run \
--dart-define=BugfenderLogger.appKey=YOUR_APP_KEY \
--dart-define=BugfenderLogger.minLevel=info \
--dart-define=BugfenderLogger.printToConsole=falseBugfenderLoggerinizializza Bugfender chiamandoFlutterBugfender.init(...)in modo best-effort (non blocca l'app in caso di errori).- Le chiamate
setDeviceId,login,logoutimpostano anche alcune device keys su Bugfender (deviceId,username).