2023-11-15
1. 방법
pubspec.yaml 에 우선 아래와 같이 logger 패키지를 선언해 주고 저장해 주면 vscode가 알아서 필요한 정보를 가져온다.
dependencies:
flutter:
sdk: flutter
. . .
logger: ^2.0.2+1
이후 main.dart 와 같은 곳에 아래와 같이 선언한다.
Future<void> main() async {
. . .
runApp(const MyApp());
}
var log = Logger(
printer: PrettyPrinter(),
);
아래와 같은 방식 처럼 사용하면 된다. 문자열 메시지 대신 List, Map 또는 Set과 같은 다른 개체를 전달할 수도 있다.
if (user != null) {
log.i('현재 로그인 유저 : ${user.email}');
} else {
log.i('현재 사용자는 없습니다.');
}
그럼 아래와 같은 형식으로 로그가 출력되는 것을 확인할 수 있다.
로그 레벨은 총 6가지가 있으며, 아래와 같다.
logger.t("Trace log");
logger.d("Debug log");
logger.i("Info log");
logger.w("Warning log");
logger.e("Error log", error: 'Test Error');
logger.f("What a fatal log", error: error, stackTrace: stackTrace);
출력하면 아래와 같은 형태가 된다.
위의 예제와 같이 PrettyPrinter 를 사용한다면, 아래와 같은 여러 옵션값을 줄 수도 있다.
var logger = Logger(
printer: PrettyPrinter(
methodCount: 2, // Number of method calls to be displayed
errorMethodCount: 8, // Number of method calls if stacktrace is provided
lineLength: 120, // Width of the output
colors: true, // Colorful log messages
printEmojis: true, // Print an emoji for each log message
printTime: false // Should each log print contain a timestamp
),
);
https://pub.dev/packages/logger
관련 정보는 위의 링크에서 확인할 수 있다.
메인 이미지 출처 : 사진: Unsplash의Mert Atakan