Revel埋立:dev モードと prod モードの違い
▼ dev モードと prod モードの違い

重要:デフォルトは dev(開発用)モードです。
エラー発生時に色々と見せちゃイケない情報がブラウザ上にだだもれになるので
商用環境では必ず prod(商用)モードを指定することを推奨します。

Revel は、オプション無しで起動すると、dev モードで起動します。

# revel run myapp


下記のように dev オプションを付けて明示的に dev モードでも起動できます。

# revel run myapp dev


prod モードで起動する場合は、下記のようにオプションの指定が必要です。

# revel run myapp prod


この dev モードと prod モードには色々と違いがあって
端的なのは、エラー時のブラウザの表示が替わることです。

これは、conf/app.conf でまるっきり dev と prod の設定を入れ替えても
変わらなかったので、設定でどーこーできるものではなく、
dev と prod は根本的に動きが異なるようです。

ちなみに、dev モードでもデフォルトの設定では後述する
TRACE レベルのログは出力されないので、conf/app.conf の設定を変更しています。

# Where to log the various Revel logs
#log.trace.output = off
log.trace.output = stderr

# 23 => log.Ldate|log.Ltime|log.Lmicroseconds|log.Lshortfile
log.trace.flags = 0


上記の変更は、TRACE レベルのログを stderr に出力するように設定してます。
log.trace.flags = 0 は、
こんな感じでヘッダとメッセージだけを出力するようにします。

TRACE adding template:  errors/500.xml
TRACE adding template: TestRunner/FailureDetail.html
TRACE adding template: TestRunner/Index.html


ちなみにアフォみたいに沢山出ますw

▼ デバッグログを吐く

基本的にえぶアプリはデバッグログさえ吐ければ大概はどーにかなると思ってて。

コマンドラインから dev モードで Revel を立ち上げているのが前提ですが、
下記のようなコードでデバッグログを吐くことができます。

func (c App) Hello(myName string) revel.Result {
revel.TRACE.Printf("%s", myName)
return c.Render(myName)
}





【2017/05/07】 golang / Revel | トラックバック(0) | コメント(0) | page top↑
<<今月の密林 2017/5 | ホーム | Revel埋立:CSRF 対策でちょっとハマる>>
コメント
コメントの投稿











管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://hidenov.blog4.fc2.com/tb.php/1363-3dda62a9
| ホーム |