parseAndroidMessage static method
Parse an incoming Android log message into a NativeLogMessage
instance.
Implementation
@visibleForTesting
static NativeLogMessage parseAndroidMessage({required String message}) {
return catching(
() => optionOf(RegExp(r'(\w)/(\w+)\((\d+)\): (.+)').firstMatch(message))
.map(
(RegExpMatch match) => NativeLogMessage(
level: NativeLogMessageLevel.parse(level: match.group(1)!),
message: match.group(4)!,
processId: int.parse(match.group(3)!),
tag: match.group(2)!,
),
)
.getOrElse(() => throw 'No match found'),
).getOrElse(() => NativeLogMessage(message: message));
}