ログ出力Beanを使用して,ログを出力するポートレットを開発できます。ポートレットログの出力レベルによって,出力されるログの種類が異なります。出力レベルはデフォルトでは0が設定されています。ログ出力Beanの詳細は,「14.7 ログ出力Bean」を参照してください。
ポートレットログの出力レベルと出力されるログの内容を次の表に示します。
表A-3 ポートレットログの出力レベルと出力されるログの内容
出力レベル | 出力されるログ | 内容 |
---|---|---|
0 | error,printStackTrace | 通常運用でのトレースレベルです。 |
10 | warn | 監視対象を必要とするトレースレベルです。プログラムの実行性能に影響を与えない範囲で出力します。 |
20 | note | 障害調査時に設定するトレースレベルです。プログラムの動作シーケンスを把握できる内容を出力します。 |
30 | debug | 障害調査時に設定するトレースレベルです。プログラムの動作が完全に把握できる内容を出力します。 |
ログ出力Beanのメソッドは,次の方針に従って使用します。方針に従わない場合,必要なログが得られない,または大量のログが出力されるなどの問題が起きるので注意してください。
ログを出力するポートレットの例を次に示します。
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="jp.co.hitachi.soft.portal.portlet.beans.PortletInfoBean" %>
<%@ page import="jp.co.hitachi.soft.portal.api.user.PortalUserInfoBean" %>
<%@ page import="jp.co.hitachi.soft.portal.api.log.PortletLog" %>
<%
String uri = "error.jsp";
PortletLog logger = new PortletLog();
try {
logger.setApplication("logging");
PortletInfoBean pInfo = new PortletInfoBean();
pInfo.initBean(request);
PortalUserInfoBean userInfo = new PortalUserInfoBean();
userInfo.setRequest(request);
// ログイン済みかチェック
if (userInfo.checkLoggedIn()) {
PortletInfoBean.Mode mode = pInfo.getMode();
if (mode == PortletInfoBean.Mode.DEFAULT) {
logger.note("CALL logic1");
// ここにサマリ画面用業務ロジック呼び出しを追加する
logger.note("RET logic1");
uri = "summary.jsp";
} else if (mode == PortletInfoBean.Mode.MAXIMIZE) {
logger.note("CALL logic2");
// ここに最大化画面用の業務ロジック呼び出し追加する
logger.note("RET logic2");
uri = "main.jsp";
}
}
} catch (Exception e) {
// エラーメッセージ出力
logger.error("Error occured", e);
uri = "error.jsp";
}
%>
<!-- includeを用いたビューの呼び出し -->
<jsp:include page="<%= uri %>" flush="true"/>