Flutterでよく使うログ出力
Flutterで開発を進めていく中でデバッグする際によく使用するのが、
print('hoge');
このログ出力。
このログ出力はデバッグモード時だけでなく、リリースモード時にも出力されてしまう(Androidのみ)のですが、
今回、リリースモードではログ出力させたくないけど、デバッグモードではログ出力ができるようにしておきたいというケースにあたりましたので、色々と調べた結果を記録として残したいと思います。
【注意】
iOSではprintでもlogでも、リリースモード時はログ出力されません。Androidのみリリースモードでの挙動が変わります。
Flutterでリリースモード時にログ出力されない方法
結論、以下のようにすることでデバッグ時のみログ出力をし、リリースモード時にはログ出力されないように出来ます。
import 'dart:developer';
log('hoge');
実際に、以下のログを仕込んでSimulatorでのログ出力(デバッグモード)と、flutter run -release
コマンドでリリースモードでそれぞれの動きを確認してみました。
print('hoge');
log('huga');
デバッグモード時は以下のようなログ出力に。
flutter: hoge
[log] fuga
リリースモードでのログは以下の通り。
I/flutter ( 5339): hoge
リリースモード時はlogは出力されず、printは出力がされました。