A library helping integrate Bugfender with the logging package.
final loggingListener = LoggingBugfenderListener('my-very-secret-app-key');
void main() {
setupLogger(true);
// ...
runApp(MyApp());
}
void setupLogger(bool debugMode) {
if (debugMode) {
// During debugging, you'll usually want to log everything
Logger.root.level = Level.ALL;
LoggingBugfenderListener(
config.bugfenderKey,
consolePrintStrategy: const PlainTextPrintStrategy(),
).listen(Logger.root);
} else {
// On production, you probably want to log only INFO and above
Logger.root.level = Level.INFO;
LoggingBugfenderListener(config.bugfenderKey).listen(Logger.root);
}
}
You can also add and remove custom data.
const logUsernameKey = 'username';
// After the user signs in
loggingListener.setCustomData(logUsernameKey, '<some username>');
// After the user signs out
loggingListener.removeCustomData(logUsernameKey);
class FooBarCubit {
final _logger = Logger('FooBarCubit');
// (...)
void doSomething() {
try {
// (...)
_logger.info('Successfuly did something');
} catch (err, st) {
_logger.severe('Failed doing something', err, st);
}
}
}