GlassFish V2のエラーログはどこだ

「実行」するとGlassFish V2上で稼動するが,そのエラーログはどこだろう,ということ.Program Files\NetBeans\以下にあるかなと探してみると,違った.

  • C:\Program Files\glassfish-v2-ur1\domains\domain1\logs

server.logのサイズは1.6MBほどあり,18432行あった.サイズ制限はどこで施せばいいんだろうか.

なぜ確認しようとしたのか

HTTP500が返ってきたけど,情報が省略されているらしく,どこに修正を入れたらよいかわからなかったからだ.確認を思いつくまでにやったことをリストにする.

エラーページの内容

HTTP Status 500 -

type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: PWC1392: Error instantiating servlet class Search.Search

root cause

java.lang.IllegalStateException: ServletConfig has not been initialized

note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server 9.1_01 logs.
Sun Java System Application Server 9.1_01

原因

class hogeで次の様な変数を作っていたため発生していた.

private final String HUGA = String(getServletContext().getRealPath("hogehoge"));

対策

doPost()でsetHuga()を実施するようにした.

リファクタリングすごい

refactoringと書くのだろうか.今回利用したのは「フィールドをカプセル化」からsetHoge(),getHoge()を生成する機能だ.