【まとめ】Flutterでログ出力してデバッグする方法 | Dart【2022】

はじめに

今回の記事では、Flutterのログ出力に関して解説していきます。

 

当たり前の話ですが、プログラミングをする際、ログ出力をしてデバッグするのは大切です。

 

もしもあなたが、プログラミングをしていて、適切なデバッグすら出来ない状態であるならば、

 

効率的な開発を進めることは文字通り、不可能になるでしょう。

 

OSSライセンスの教科書「つよいエンジニア」になるための実績ガイド

今すぐ読む

 

OSSに関わる文化がどういうものかを教えてくれる本で、とてもオススメです。OSSを使ってる全ての人に読んでほしい、ライセンスやソース開示、コミュニティへの貢献など気になるキーワードを一通り眺められます。Flutterエンジニアとして、「つよいエンジニア」になるための実績ガイドにもなるでしょう。

 

 

変数に正しい値が入っているか確認することは勿論、

 

バグの原因を突き止める為にも、高度なデバッグ技術は重要なのです。

 

この記事を読むことで、Flutterのログ出力を覚えることができます。

 

VSCodeでFlutterを書いてる人は必見

今すぐ読む

 

VSCodeの基本的な使い方に加えてGitやGithubの解説と連携方法まで書かれてあるので、特にFlutterで開発してるエンジニアには凄くオススメです。

 

Flutterのログ出力の種類

まず、Flutterのログ出力の方法はいくつかあります。

 

例えば、アプリケーションのロギングには、一般的にはprint()やstderステートメントを使用できますが、

 

他にも下記のように、色々と手段はあります。

 

  • print()
  • debugPrint();
  • log();
  • stderr.writeln()
  • developer.log

 

どれを使っても、アプリケーションの動きをデバッグするには十分でしょう。

 

しかし誤差はあるため、好みや細かいオプションを吟味して使えばいいです。

 

適材適所で技術選定をしていくことで、より効率的で高速な生産性を実現できます。

 

稼げるFlutterエンジニアになりたい人へ

今すぐ読む

 

今の時代、ただ単にコードを書くだけの人は年収が上がらない時代です。この本を読むことで、しっかりとアプリ利用者の価値を考え、『売れる』Flutter開発が出来るようになります。

 

print()

参考: Language samples

 

Dartのprint()関数は、Flutterで開発するときの、最も一般的で王道なデバッグ手法です。

 

 

詳しくはこちら

 

 

特に理由がなければ、取り敢えずこれをコピペしておけば、基礎的なデバッグは十分でしょう。

 

何はともあれ、王道に従うのもエンジニアの道です。

 

stderr.writeln()

 

こちらも、Dartの基本的なな組み込みログです。

 

参考: Debugging Flutter apps programmatically

詳しくはこちら

 

 

debugPrint()

実はPrint()関数は、一度に多くの情報を出力すると、Androidでは一部のログ行が破棄されることがあります。

 

これを避けるには、debugPrint()を使います。これはprintのラッパーで、Androidのカーネルに落とされないレベルに出力を調整してくれます。

 

debugPrint()であれば、それらを避けられるようです。

 

詳しくはこちら

 

 

ちなみに!

 

今すぐ読む

 

余談ですが、VS Codeを使っている人は Visual Studio Codeデバッグ技術 という本がおすすめです。

 

Flutterとも相性が良いので、なおさら開発効率が上がります

 

developer.log

他にも、こういうのがあります。

 

dart:developer log()関数を使用すると、ロギング出力にもう少し詳細な情報を含めることができます。

 

詳しくはこちら

 

 

データをログすることも可能です

以下のように、アプリケーションデータをログコールに渡すこともできたりします。

 

詳しくはこちら

 

 

そのためには、log() の呼び出しで error: という名前のパラメータを使用し、

 

送信したいオブジェクトを JSON(JavaScript Object Notation) エンコードして、

 

エンコードされた文字列を error パラメータに渡すことになります。

 

ここら辺の説明が難しく感じる方は、フロント側の勉強をもう少し頑張ってみましょう。

 

log()

他にも、こういうのがあったり、

 

詳しくはこちら

 

 

Logger()

こういうのもあります。

参考: logger 1.1.0

 

詳しくはこちら

 

 

Flutter学習者におすすめ最新本・教材

Flutterでチーム開発をする人は必読

今すぐ購入する

 

Flutter学習者の7割は読んでると言われてる名著です。

 

Flutterを使った開発現場で働いてる人には是非とも読んでほしい。

 

以下の項目のような、チーム開発では欠かせない知識が網羅的に書かれており、すぐに現場で使える1冊となっています。

 

  • アニメーション
  • 状態管理
  • データベース
  • ネイティブ連携
  • 課金
  • ローカライズ
  • CI/CD

 

ググってるだけでは身に付かない、細かいテクニックなども盛り沢山です。

 

今すぐ購入する

 

スマホアプリのUIデザインを上達したい人は必読

 

今すぐ購入する

 

ヒットするスマホアプリはデザインが9割と言われているほど、アプリのデザインは大事です。

 

この本は、Flutter開発者におすすめの、スマホのUIデザインを学べる本です。

 

Flutterは、iOSやAndroid、Webで動くアプリを開発することが出来ます。

 

売れるアプリ、稼げるアプリを作りたいと考えている人は、アプリのUIデザインを勉強していくことが凄く大切です。

 

UIデザインの教科書[新版] マルチデバイス時代のインターフェース設計 を読むことで、

 

スマホアプリやWebアプリを開発する時に超重要なUI/UXデザインの知見を深めることが出来ます。

 

今すぐ購入する

 

Flutterを開発していて、より洗練されたUI/UXを作れるようになりたいと考えてる人には、超おすすめの本です。

 

マルチプラットフォームの仕組み・利点が学べる

今すぐ購入する

 

この本一つで、ざっくりFlutterの全てが分かります。

 

Flutterは、一つの言語を書くだけで、iOS、Android、Webで動くアプリが作れます。

 

めちゃくちゃ効率よく、新しいアプリを作って市場に出していけるわけですが、

 

なぜ、そんなことが可能なのか、どういう仕組みで動いているのか?などを知りたい人にはオススメの書籍です。

 

サーバーレス開発をFlutterで学びたい人は必読

今すぐ購入する

 

スマホアプリを開発する際、バックエンドを開発するのは面倒だな・・・と思う人も多いはず。

 

この本では、FirebaseとFlutterを使った、完全サーバーレスのアプリの作り方を、ステップ・バイ・ステップで学ことが出来ます。

 

 

今すぐ購入する

 

この本を読むだけで、Firebaseやサーバーレスの知識が薄いエンジニアの方でも、

 

サーバーレスでサクサク動く、ハイパフォーマンスなFlutterアプリの作り方の知見を深めることが出来ます。

 

 

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

Flutterプログラミング言語