JSPからのログ出力

 Java Standard EL FunctionsにはJSPからLog4jを用いてログを出力するための関数が用意されています。
 これらの関数を使用するにはJSPに以下のtaglibディレクティブを追記します。

----
<%@ taglib uri="http://amateras.sf.jp/log4j" prefix="log" %>
----

 JSPからは以下のようにしてログを出力することができます。ログレベルに対応したログ出力用の関数が存在します。
 利用可能な関数の詳細については{{{tlddoc/index.html}TLDDoc}}を参照してください。

----
${log:debug('デバッグログです。')}
----

 これらの関数では、JSPのパスから以下のルールにしたがってLogger名を生成します。
 
 [[1]] HttpServletRequest#getServletPath()でサーブレットパスを取得
 
 [[2]] サーブレットパスの先頭の / と末尾の .jsp を除去
 
 [[3]] jsp.<<サーブレットパスの / を . に変換した文字列>> をLogger名とする
 
 []
 
 たとえば、/index.jsp の場合は jsp.index、/admin/index.jsp の場合は jsp.admin.index がLogger名になります。
 Log4j側ではこれらのLoggerに対応するアペンダを定義しておくことでJSPから出力されるログを制御することができます。
 