Use StackTrace library to make the traces shorter

And hopefully add some more context to some async stack traces that
don't make any sense.
This commit is contained in:
Vishesh Handa
2020-11-18 12:53:12 +01:00
parent e5caafd6a1
commit a9f3001798
5 changed files with 19 additions and 3 deletions

View File

@ -6,6 +6,7 @@ import 'package:flutter/foundation.dart';
import 'package:device_info/device_info.dart';
import 'package:package_info/package_info.dart';
import 'package:sentry/sentry.dart';
import 'package:stack_trace/stack_trace.dart';
import 'package:gitjournal/.env.dart';
import 'package:gitjournal/app.dart';
@ -137,7 +138,7 @@ Future<void> captureSentryException(
final sentry = await getSentryClient();
final Event event = Event(
exception: exception,
stackTrace: stackTrace,
stackTrace: Trace.from(stackTrace).terse,
breadcrumbs: breadcrumbs,
level: level,
);

View File

@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart' as foundation;
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:stack_trace/stack_trace.dart';
import 'package:gitjournal/app.dart';
import 'package:gitjournal/app_settings.dart';
@ -29,6 +30,8 @@ void main() async {
}).sendPort);
runZonedGuarded(() async {
await Chain.capture(() async {
await JournalApp.main(pref);
});
}, reportError);
}

View File

@ -7,6 +7,7 @@ import 'package:fimber/fimber.dart';
import 'package:meta/meta.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
import 'package:stack_trace/stack_trace.dart';
import 'package:time/time.dart';
class Log {
@ -31,6 +32,8 @@ class Log {
static void v(String msg,
{dynamic ex, StackTrace stacktrace, Map<String, dynamic> props}) {
stacktrace = Trace.from(stacktrace).terse;
if (foundation.kDebugMode) {
Fimber.log("V", msg,
ex: ex, stacktrace: stacktrace, tag: LogTree.getTag(stackIndex: 2));
@ -40,6 +43,8 @@ class Log {
static void d(String msg,
{dynamic ex, StackTrace stacktrace, Map<String, dynamic> props}) {
stacktrace = Trace.from(stacktrace).terse;
if (foundation.kDebugMode) {
Fimber.log("D", msg,
ex: ex, stacktrace: stacktrace, tag: LogTree.getTag(stackIndex: 2));
@ -49,6 +54,8 @@ class Log {
static void i(String msg,
{dynamic ex, StackTrace stacktrace, Map<String, dynamic> props}) {
stacktrace = Trace.from(stacktrace).terse;
if (foundation.kDebugMode) {
Fimber.log("I", msg,
ex: ex, stacktrace: stacktrace, tag: LogTree.getTag(stackIndex: 2));
@ -58,6 +65,8 @@ class Log {
static void e(String msg,
{dynamic ex, StackTrace stacktrace, Map<String, dynamic> props}) {
stacktrace = Trace.from(stacktrace).terse;
if (foundation.kDebugMode) {
Fimber.log("E", msg,
ex: ex, stacktrace: stacktrace, tag: LogTree.getTag(stackIndex: 2));
@ -67,6 +76,8 @@ class Log {
static void w(String msg,
{dynamic ex, StackTrace stacktrace, Map<String, dynamic> props}) {
stacktrace = Trace.from(stacktrace).terse;
if (foundation.kDebugMode) {
Fimber.log("W", msg,
ex: ex, stacktrace: stacktrace, tag: LogTree.getTag(stackIndex: 2));

View File

@ -962,7 +962,7 @@ packages:
source: hosted
version: "0.6.0"
stack_trace:
dependency: transitive
dependency: "direct main"
description:
name: stack_trace
url: "https://pub.dartlang.org"

View File

@ -16,6 +16,7 @@ dependencies:
url_launcher: ^5.4.1
dots_indicator: ^0.0.3
package_info: ">=0.4.1 <2.0.0"
stack_trace: ^1.9.6
http: ^0.12.0+1
badges: ^1.1.1
share: ^0.6.3+5