본문 바로가기

Flutter/12 Clone 'Used Goods app'

[Flutter] Clone - 당근마켓1(logger)

이번에는 개발과정에서 중요한 로깅 패키지에 대해서 알아보겠습니다.

개발환경 : 윈도우11, 안드로이드 스튜디오, flutter 3.0.1

 

 

 

추가된 패키지

 

logger: ^1.1.0

 

 

./src/utils/logger.dart

 

import 'package:logger/logger.dart';

final logger = Logger();

 

 

main.dart

 

StatelessWidget _splashLoadingWidget(AsyncSnapshot<Object> snapshot) {
  // future has 3 state, hasError, hasData, waiting
  if (snapshot.hasError) {
    logger.d('error occur while loading ~');
    return const Text('Error Occur');
  } else if (snapshot.hasData) {
    logger.d('data is ${snapshot.data.toString()}');
    return const AppleApp();
  } else {
    return const SplashScreen();
  }
}

 

 

위의 코드에서 logger 를 추가해 보았습니다. 호출되는 위치를 알수 있어서 코드 추적이 용이하고 또한 앱 배포시에는 디버깅 로그는 자동으로 제거 됩니다.

 

I/flutter (28333): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (28333): │ #0   MyApp._splashLoadingWidget (package:apple_market3/main.dart:33:14)
I/flutter (28333): │ #1   MyApp.build.<anonymous closure> (package:apple_market3/main.dart:23:22)
I/flutter (28333): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
I/flutter (28333): │ 🐛 data is 100
I/flutter (28333): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────