2017Tweetプログラムの挙動を確認するのにはlogger(ロガー)を使います。ありますが、ここではもっとも手軽に使えるwvlet-logについて紹介します。"1.1"MyApp.scalawvlet.log.LogSupportをクラスに追加します。(MyApp.scala:7)より詳しい使い方はこちらを参考にしてください。フォーマットを指定することで、好みに応じてカラフルで詳細なログメッセージを出力することができます。各種Loggerライブラリの違いScalaでのロギングにはバックエンドで使う実装の違いにより特徴が異なります。slf4jプログラム中ではログレベルの設定を行わず、外部の設定ファイル(logback.xmlなど)を使います。(logbackを使う)などのslf4j用バインディングをライブラリに含めることでロガーの出力先を切り替えることができます。loggingは、slf4jをScalaから使うためのインターフェースを提供しています。インターフェースが単純なため、採用しているプロジェクトが多くあります。利用者が多い反面、slf4jのバインディングをdependencyに含めているプロジェクトも多く(Hadoopなど)、出力先を適切に切り替えるため依存関係から不要なslf4jバインディングを取り除かなければならない傾向があります。java.util.loggingJavaのコアライブラリに含まれているため、slf4jのようにバインディングの実装を必要とせず、どんなプロジェクトでも使えますコード内でログレベルやフォーマットの設定ができるので自由度が高いです。Prestoなど大規模なプロジェクトでも使用されています。通して使われています。wvlet-logもjava.util.loggingをベースに実装されています。ソースコードの行数を表示できるのでコードの実行箇所を確認しやすくなるのが大きな利点です。Scalaマクロを用いたコード生成を行うことで不必要なログメッセージを出力しない最適化がなされており、ロギングによる性能の劣化を気にせず使用することができます。