parseAndroidMessage static method

  1. @visibleForTesting
NativeLogMessage parseAndroidMessage({
  1. required String message,
})

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));
}