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>