バッテラが如く

プログラミングしましょ!

【Flutter】Avoid `print` calls in production codeの解決方法

Flutter(v2.10.4)

どういった現象か?

以下のように変数の値をコンソールにログ出力時にprintをよく使うと思います。

print("デバッグ情報を表示");

しかし、よく見ると警告が表示されています。

Avoid `print` calls in production code

エラーではないのでほっとおいてもいいのですが、なんか気持ち悪いので調査しましたので解決策を共有したいと思います。

原因

警告文を直訳すると「製品コードにprintを呼ぶべきではない」というものです。

つまり製品版にもログが出ちゃうよー という話で警告になってます。

まぁリリースする時にはprint等のデバッグ処理はコメントするので正直気にしなくてもいいとは思います。

対策1 (debugPrintを使う)

debugPrint("デバッグ情報を表示");

printの代わりにdebugPrintを使うと警告が消えます。

使い方はprintと同じです。

対策2 (kDebugMode + print)

kDebugModeで囲っても警告を消すことができました。

if (kDebugMode) {
    print("デバッグ情報を表示"); 
}

kDebugModeはデバッグ時のみtrueになるフラグです。