Play frameworkでLoggerとかJVMに接続してdebugとか

このエントリはPlay frameworkひとりアドベントカレンダーの7日目です。

そろそろ混みいったことをし始めたので、printデバッグしたくなりましたよね?

まぁdebugger使ったほうがいいんですけど。

というわけで今日はLoggerの使い方と、EclipseからJVMに接続してデバッグする方法です。

Loggerを使ってみる

そんなあなたのために今日はLoggerを使ってみましょう。

使うのは play.Logger 。フルスタックってすばらしい。

使い方も簡単。 Logger.debug("hoge"); って書くだけ。

package controllers;
(略)
import play.Logger;

public class Application extends Controller {

	public static Result getTime() {
(略)
			Logger.debug(tz.getDisplayName());
(略)
}

play run してるコンソールに出力されます。

[debug] application - GMT-12:00
[debug] application - GMT-11:00
[debug] application - サモア標準時
(略)

こころおきなくprintデバッグしてください!

デバッガを使う

play側の準備は簡単。 play run と実行してたところを play debug run と実行しましょう。

これで port 9999でデバッガ接続可能になります。
(このポートを変える場合は環境変数 JPDA_PORT にポート番号を設定せよとのこと)

play debug run

Eclipse側は、こんな感じ。

  1. 虫アイコンの▼
  2. Debug Configurations...
  3. Remove Java Application
  4. New launch configuration (ツリー左上の白紙+アイコン)
  5. Connect タブ
  6. Connection Type: Standard (Socket Attach)
  7. Connection Properties: [ Host: localhost / Port: 9999 ]
  8. Debug

ほーら。かんたん!かんたん!


See also