こんにちは!tatata-keshiです![]()
Flutterでデバッグ用にprint関数を使用したところ、↓のように黄線が引かれてしまいました...
今回は、なぜprint関数を使用するとIDEに怒られてしまうのか調べてみました。
この記事はFlutter歴約1週間の人が書いています!間違ったことを記載していても寛大な心で教えていただけると幸いです![]()
Don't invoke 'print' in production code
print関数にカーソルを合わせてみると、上記のメッセージが表示されました。
意味としては「productionコードではprint関数を実行しないでね」とのことです。
それでは、print関数の代替となるものはあるのでしょうか?
print関数以外の方法
大前提として、print関数はデバッグを目的としている関数です。
そのため開発環境上での確認が済めば削除しておいてねというのがflutter lint側の意図なのではないかと考えています。
しかしprint関数を使いたい理由としてもう一つ考えられるのがアプリケーションログの出力です。そのような用途で使いたい場合はどうしたら良いのでしょうか?
これについては、上記の警告文にもあるように何かしらログ出力用のパッケージを導入するというのがflutter側の回答らしいですね。
少し古い記事ですが、Flutterのロガーパッケージが紹介されてある記事を見つけたので紹介します。
まとめ
print関数はあくまでも開発向けの機能として用いられるものであり、ログ出力のように本番環境での仕様を想定する場合は適宜パッケージで対応するべきであるということがわかりました。

