最近、多くの公式Gruntプラグインでログの出力が変わった(メンテナーによって違う)。正常に動作した時は何も出さず、エラーがあった時にのみエラー・メッセージを出すという形。ただし--verboseオプションを付けた場合には何をやったのかを確認できるようにgrunt.verbose.logを使うようになっている。

grunt.verbose.loggrunt.logと同じなので、置換するだけで既存のGruntタスクの書き直しは終わり。書く側としてはログを綺麗に整形して色を付けて……などとしなくてよくなり、メッセージの簡略化(スタック・トレースで出てきそうな部分は省略できる)やcolorsやchalkへの依存の削除が可能になると思う。

なぜこうなったのか経緯がよくわからないけれど、Gruntの次期バージョンではこの辺りの制御をユーザー側に任せるようにしたいというような議論があって、それを意識して既存の機能で先取りした形になっているみたいだ。grunt.verbose.logでうまく先取りできているか、は大いに疑問がある。

ログの表示をユーザーに制御させるのは良いと思うけど、デフォルトでまったく何も表示しないというのは良くないと思う。--quietと無指定と--verboseの3種類の方がわかりやすいはずだ。


僕も自分のGruntタスクやオレオレGruntタスクで消してみたけど、やっぱり正常系のログもあった方が安心すると感じた。戻そう。