はじめに...
万能なMsgコマンド
その使い方をいくつかご紹介します。
- 基本的な構文
- メッセージ出力方法
- 簡易的なログ出力方法
バージョン : GeneXus 15U6 ~ 16U10
ジェネレーター : Java 1.8 (jdk1.8.0_141)
サーバー : Tomcat 8.5, 9.0
Msgコマンドとは
Msgコマンド はメッセージを表示/出力したい場合に用いるコマンドです。
※Errorコマンドと異なり後続処理は実行します。
警告メッセージを表示します。
構文
Msg( {'msg' | &var} [ , nowait | status ] )GeneXus Wikiより抜粋
用途別の記述例
画面へメッセージを表示
//Transactionオブジェクトでのみ記述可能
Msg("Hello, GeneXus Event xxxx");
Event xxxx
Msg("Hello, GeneXus Event xxxx")
Endevent
Sub 'xxxx_xxx'
Msg("Hello, GeneXus Sub xxxx_xxx")
Endsub
※Rulesは ; (セミコロン)で終わらなければいけない
ので注意して下さい。
簡易的なログ出力
//Transactionオブジェクトでのみ記述可能
Msg("Hello, GeneXus Event xxxx", status);
Event xxxx
Msg("Hello, GeneXus Event xxxx", status)
Endevent
Sub 'xxxx_xxx'
Msg("Hello, GeneXus Sub xxxx_xxx", status)
Endsub
※この記述方法では、画面上にメッセージは表示されません
実装例
1、メッセージを表示する
2、条件に一致する場合のみメッセージを表示する
3、簡易的なログ出力
正月早々なにをしているのだか...サンプル
今回のサーバーであれば以下フォルダ配下に
「tomcat<メジャーバージョンNo>-stdout.YYYY-MM-DD.log」
というファイルへ出力される
%TOMCAT_HOME%¥logs
Event Start
Msg("Hello, GeneXus")
Msg("Event Start log", status)
Endevent
Event Refresh
Msg("Event Refresh log", status)
Msg("&Name="+&Name, status)
Endevent
Event 'btn'
If &Name.IsEmpty()
Msg("名前は必ず入力してください。")
Endif
Refresh
Endevent
最後に
Msg("xxxx", status)
は開発中にSDTなどの情報をログ出力し確認したい場合や、
データ取得確認を行う場合に良く用いられる。
ただ、とても 消し忘れ 易い。
サーバーの標準ログ出力ファイルを用いるのであれば、問題ないでしょう。
ログ出力処理が既に存在する場合、ログ出力処理が混在する可能性もある為、ご注意ください。