開発中のログ出力用にprintを利用すると、リリースビルドでもその情報を出力してしまう。そのため、ロギングライブラリを利用して制御する方法を取るのが一般的。
ネットで雑に調べると、Flutter用のロギングライブラリは代表的なものだけで4~5種類あると言われている。自分はLike数とAndroidのloggerから着想を得ているという文言を決め手にしてlogger
を利用している。
loggerはデフォルトでリリースビルドでログ出力されないようになっているので、雑に使っても失敗が少ないのも魅力の一つ。
導入
flutter pub add logger
事前準備
呼び出したいインスタンスをグローバルで定義する。その時設定するパラメータによって、アウトプットの形式やタイミングを調節できる。最初はREADMEのものを参考にして、不満が出てきたら調整していくぐらいの使い方で問題ないはず。自分はprintTimeをtrueにすることが多い。
var logger = Logger(); // デフォルト var logger2 = 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 ), );
logger_flutterというライブラリを導入すると端末のシェイクでログ画面を表示する機能を追加できるが、開発が止まっているようで挙動が心配。forkしたリポジトリを利用している人をしばしば見かける。
呼び出し
logger.d("Logger is working!");