misima 漢詩作成支援の機能追加を終えて,Tomcat ログ,misima
一つ目のエラーは Tomcat-5.5(JSP / Servlet コンテナのデファクトスタンダード・ソフトウェアのちょっと古めのバージョン)/usr/
log4j:WARN No appenders could be found for logger →(折返し。実際は 1 行) (org.apache.commons.digester.Digester.sax). log4j:WARN Please initialize the log4j system properly.
二行目の initialize 云々でロガー(ログ管理システム)Log4j の初期化がうまく行っていないようである。misima
<servlet> <servlet-name>misimaKansiServlet</servlet-name> <servlet-class>misimaKansiServlet</servlet-class> ... <!-- logging プロパティのパス --> <init-param> <param-name>logproperty</param-name> <param-value> /usr/local/tomcat5.5/webapps/misimakansiservlet/log4kansi.properties </param-value> </init-param> </servlet>
public class misimaKansiServlet extends HttpServlet { /** log4j property */ private static String prop = "log4kansi.properties"; /** log4j logger */ private static Logger mslog; ... /** 初期化 */ public void init() throws ServletException { // web.xml デプロイメントディスクリプタから初期パラメータを取得する. String p = getInitParameter("logproperty"); if (p != null) { prop = p; } // log file initialize. mslog = Logger.getLogger(misimaKansiServlet.class.getName()); PropertyConfigurator.configure(prop); mslog.info("misimaKansiServlet initialize."); mslog.info("- log properties file: " + prop); } ...
これで何でまだ初期化されていないなどと言われるのか。misima
-Dlog4j.configuration=file:///usr/local/tomcat5.5/conf/log4j.properties
これで Tomcat を再起動すれば,エラーは出なくなった。私の FreeBSD 環境の場合 Tomcat 起動用スクリプトのなかで JAVA_OPTS を tomcat55_
tomcat55_java_opts="-Dlog4j.configuration=→(折り返し) file:///usr/local/tomcat5.5/conf/log4j.properties"
二つ目のエラーは,misima
12/01/30 18:24:18.079, ERROR, [TP-Processor6] org.directwebremoting.util.LogErrorHandler, 42: Line=23 The content of element type "dwr" must match "(init?,allow?,signatures?)".
文面からは何も原因を想定できない。DWR サイト内を検索したら,メーリングリストに同じエラーに遭遇した人の投稿とそれへの回答があり,難なく原因がわかった。misima
<dwr> <!-- without allow, DWR isn't allowed to do anything --> <allow> <create creator="new" javascript="SigoTable"> <param name="class" value="SigoTable" /> </create> <convert converter="bean" match="SigoBean" /> <!-- </allow> 単一 allow にするため削除 <allow> 同上 --> <create creator="new" javascript="KanjiTable"> <param name="class" value="KanjiTable" /> </create> <convert converter="bean" match="KanjiBean" /> </allow> </dwr>