onRecord method
Implementation
Future<void> onRecord(
{required LogRecord record,
String? deviceId,
String? buildNumber,
String? version}) async {
/// First write logs to console
print(
'${record.level.name}: ${record.time}: ${record.loggerName}\n${record.message.isNotEmpty ? record.message : ''}${record.object != null && record.object!.toString().isNotEmpty ? '\n${record.object!.toString()}' : ''}${record.error != null && record.error!.toString().isNotEmpty ? '\n${record.error!.toString()}' : ''}${record.stackTrace != null && record.stackTrace!.toString().isNotEmpty ? '\n${record.stackTrace!.toString()}' : ''}');
/// Then send it via Bugfender
if (record.level == Level.SHOUT) {
logEvent(
severity: GoogleLoggerSeverity.EMERGENCY,
args: {
'message': record.message,
'object': record.object,
'error': record.error,
'stackTrace': record.stackTrace,
'deviceId': deviceId,
'buildNumber': buildNumber,
'version': version,
},
functionName: record.message,
fileName: record.loggerName,
);
} else if (record.level == Level.SEVERE) {
logEvent(
severity: GoogleLoggerSeverity.ALERT,
args: {
'message': record.message,
'object': record.object,
'error': record.error,
'stackTrace': record.stackTrace,
'deviceId': deviceId,
'buildNumber': buildNumber,
'version': version,
},
functionName: record.message,
fileName: record.loggerName,
);
} else if (record.level == Level.WARNING) {
logEvent(
severity: GoogleLoggerSeverity.WARNING,
args: {
'message': record.message,
'object': record.object,
'error': record.error,
'stackTrace': record.stackTrace,
'deviceId': deviceId,
'buildNumber': buildNumber,
'version': version,
},
functionName: record.message,
fileName: record.loggerName,
);
} else if (record.level == Level.INFO) {
logEvent(
severity: GoogleLoggerSeverity.INFO,
args: {
'message': record.message,
'object': record.object,
'error': record.error,
'stackTrace': record.stackTrace,
'deviceId': deviceId,
'buildNumber': buildNumber,
'version': version,
},
functionName: record.message,
fileName: record.loggerName,
);
} else if (record.level == Level.FINE) {
logEvent(
severity: GoogleLoggerSeverity.NOTICE,
args: {
'message': record.message,
'object': record.object,
'error': record.error,
'stackTrace': record.stackTrace,
'deviceId': deviceId,
'buildNumber': buildNumber,
'version': version,
},
functionName: record.message,
fileName: record.loggerName,
);
} else if (record.level == Level.FINER) {
logEvent(
severity: GoogleLoggerSeverity.DEBUG,
args: {
'message': record.message,
'object': record.object,
'error': record.error,
'stackTrace': record.stackTrace,
'deviceId': deviceId,
'buildNumber': buildNumber,
'version': version,
},
functionName: record.message,
fileName: record.loggerName,
);
} else if (record.level == Level.FINEST) {
logEvent(
severity: GoogleLoggerSeverity.DEFAULT,
args: {
'message': record.message,
'object': record.object,
'error': record.error,
'stackTrace': record.stackTrace,
'deviceId': deviceId,
'buildNumber': buildNumber,
'version': version,
},
functionName: record.message,
fileName: record.loggerName,
);
}
}