Interstage Application Server/Interstage Web Server トラブルシューティング集
目次 索引 前ページ次ページ

第8章 J2EEアプリケーション開発・運用時の異常> 8.14 Javaアプリケーションのメソッドトレースの採取

8.14.1 サーブレットの場合

 以下のサーブレットを例として、トレース情報の見方を説明します。

■例:HelloServletのソースコード

  ***********************************************************************************
    1:  import javax.servlet.http.*;
    2:  import javax.servlet.*;
    3:  import java.io.*;
    4:  public class HelloServlet extends HttpServlet{
    5:    public void doGet(HttpServletRequest request, HttpServletResponse response)
    6:                      throws ServletException, IOException {
    7:      response.setContentType("text/html");
    8:      PrintWriter out = response.getWriter();
    9:      out.println("<html>");
   10:      out.println("<head>");
   ・・・(略)・・・
   11:    }
   12:  }
  ***********************************************************************************

■例:トレース情報

 上記サーブレットを呼び出した場合、以下のトレース情報が出力されます。日時、スレッド名および16進出力は、省略しています。また、表示の関係上、改行している箇所があるため、実際の出力形式とは若干の違いがあります。

  ***********************************************************************************
  ・・・(略)・・・
  1: in, org.apache.catalina.connector.RequestFacade, <init>,
     PARAM:(ISRequest):com.fujitsu.interstage.jservlet.catalina.connector.ISRequest@24d517
  2: out, org.apache.catalina.connector.RequestFacade, <init>,
     RET:void
  ・・・(略)・・・
  3: in, org.apache.catalina.connector.ResponseFacade, <init>,
     PARAM:(ISResponse):com.fujitsu.interstage.jservlet.catalina.connector.ISResponse@2219b4
  4: out, org.apache.catalina.connector.ResponseFacade, <init>, RET:void
  ・・・(略)・・・
  5: in, HelloServlet, doGet,
     PARAM:(RequestFacade):org.apache.catalina.connector.RequestFacade@c58af4:
   (ResponseFacade):org.apache.catalina.connector.ResponseFacade@125b750
  6: in, org.apache.catalina.connector.ResponseFacade, setContentType,
     PARAM:(String):text/html
  7: in, org.apache.catalina.connector.ResponseFacade, isCommitted, PARAM:
  8: out, org.apache.catalina.connector.ResponseFacade, isCommitted,
     RET:(boolean):false
  9: out, org.apache.catalina.connector.ResponseFacade, setContentType, RET:void
  10: in, org.apache.catalina.connector.ResponseFacade, getWriter, PARAM:
  11: in, org.apache.catalina.connector.ResponseFacade, isFinished, PARAM:
  12: out, org.apache.catalina.connector.ResponseFacade, isFinished,
     RET:(boolean):false
  13: out, org.apache.catalina.connector.ResponseFacade, getWriter,
     RET:(CoyoteWriter):org.apache.catalina.connector.CoyoteWriter@1262667
  14: in, org.apache.catalina.connector.CoyoteWriter, println, PARAM:(String):<html>
  15: in, org.apache.catalina.connector.CoyoteWriter, print, PARAM:(String):<html>
  16: in, org.apache.catalina.connector.CoyoteWriter, write, PARAM:(String):<html>
  ・・・(略)・・・
  17: out, HelloServlet, doGet, RET:void
  18: in, org.apache.catalina.connector.RequestFacade, getAttribute,
     PARAM:(String):javax.servlet.include.context_path
  19: out, org.apache.catalina.connector.RequestFacade, getAttribute, RET:(Object):[]
  ・・・(略)・・・
  20: in, org.apache.catalina.connector.RequestFacade, getServletPath, PARAM:
  21: out, org.apache.catalina.connector.RequestFacade, getServletPath,
     RET:(String):/HelloServlet
  22: in, org.apache.catalina.core.StandardWrapperFacade, getServletName, PARAM:
  23: out, org.apache.catalina.core.StandardWrapperFacade, getServletName,
     RET:(String):HelloServlet
  24: in, org.apache.catalina.connector.CoyoteWriter, recycle, PARAM:
  25: out, org.apache.catalina.connector.CoyoteWriter, recycle, RET:void
  ***********************************************************************************

 上の例では正常に処理が行われているため、doGetメソッドは“in”と“out”が対になって出力されています。

 引数および戻り値の情報もメソッドトレース機能の書式に従って出力されます。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED