본문 바로가기

개발 Note/Dart,Flutter

[Flutter] 디버깅용 print : dprint

반응형

안녕하세요.

 

코딩을 하다보면 종종 print를 이용해서 실행(run)창에 로그를 출력하는 경우들이 종종 발생하게 되는데요.

 

이럴때 file 정보와 line 정보가 안보여서 불편할때가 있습니다.

 

요럴때 사용할 수 있는 팁입니다.!!

 

import 'package:flutter/foundation.dart';

dprint(message,{int level=1}){

  if(kDebugMode || level >1) {
    var a = StackTrace.current;
    final regexCodeLine = RegExp(r" (\(.*\))$");
      print("$message${regexCodeLine.stringMatch(a.toString().split("\n")[level])}");
  }
}

 

 

<사용 예제>

  @override
  Widget build(BuildContext context) {

    DatabaseProvider().initMemoryDb();

    dprint("context:width:${context.width} , height:${context.height}");
    
    :

 

 

android studio의 실행창(run) 에 다음과 같이 출력이 됩니다.

그리고 클릭하면 해당 위치로 이동이 되고요.

 

<출력 결과>

I/flutter (22490): context:width:411.4 , height:866.285 (package:sample/ui/IntroPage.dart:32:5)

 

 

!!! 해피 코딩