info.dragonlady.filter
クラス DebugLogFilter

java.lang.Object
  上位を拡張 info.dragonlady.filter.DebugLogFilter
すべての実装されたインタフェース:
javax.servlet.Filter

public class DebugLogFilter
extends java.lang.Object
implements javax.servlet.Filter

サーブレットフィルター定義で使用するデバッグ用ログ機能クラス

作成者:
nobu

フィールドの概要
protected  LogLevel debugMode
           
protected  java.io.File logDirPath
           
protected  java.util.HashMap<java.lang.String,java.lang.String> logInfoMap
           
protected  boolean logRotate
           
protected  int maxGeneration
           
protected  java.lang.String sessionBefore
           
 
コンストラクタの概要
DebugLogFilter()
           
 
メソッドの概要
protected  void deleteLogFile(java.util.Vector<java.lang.String> logFilesList, java.lang.String basePath)
          指定された世代数を超えた、古いログファイルを削除する。
 void destroy()
           
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
           
protected  java.lang.String get_yyyymmdd()
          現在の時刻をYYYYMMDDHH24MISSMILLIフォーマットで生成する。
protected  void getAfterAttributes(javax.servlet.http.HttpSession session)
          サーブレット処理後のセッション属性内容を取得する。
protected  void getBeforeAttributes(javax.servlet.http.HttpSession session)
          サーブレット処理前のセッション属性内容を取得する。
protected  java.lang.String getMthodName()
          呼び出し元の関数名を取得する。
protected  void getRequest(javax.servlet.ServletRequest request)
          要求パラメータの内容を取得する。
protected  void getRequestHeader(javax.servlet.http.HttpServletRequest request)
          HTTP要求ヘッダの内容を取得する。
protected  void getResponse(info.dragonlady.filter.DebugLogFilter.DebuglogResponseWrapper response)
          HTTP応答ボディを取得する。
protected  void getResponseHeader(info.dragonlady.filter.DebugLogFilter.DebuglogResponseWrapper response)
          HTTP応答ヘッダの内容を取得する。
protected  void getTimestamp()
          ログのタイムスタンプを生成する。
 void init(javax.servlet.FilterConfig filterConfig)
           
protected  int logDate(java.lang.String fileName)
          指定されたファイル名から、ログファイルの生成された時間を抽出する。
protected  void mkDir()
          logDirPath抽象ファイルクラスが示すディレクトリを生成する。
protected  java.io.File selectLogFile()
          出力するログファイルを応答する。
protected  void startTimer()
          サーブレットの処理時間を測る為のタイマー開始要求
protected  void stopTimer()
          サーブレットの処理時間を測る為のタイマー停止要求 計測したナノ秒単位の処理時間が生成される。
protected  void writeException(java.lang.Exception ex)
          例外トレースを1ファイルに出力する。
protected  void writeLog(javax.servlet.http.HttpServletRequest request, info.dragonlady.filter.DebugLogFilter.DebuglogResponseWrapper response)
          指定されたログモードに従ったログをログファイルに出力する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

debugMode

protected LogLevel debugMode

logDirPath

protected java.io.File logDirPath

logRotate

protected boolean logRotate

maxGeneration

protected int maxGeneration

sessionBefore

protected java.lang.String sessionBefore

logInfoMap

protected java.util.HashMap<java.lang.String,java.lang.String> logInfoMap
コンストラクタの詳細

DebugLogFilter

public DebugLogFilter()
メソッドの詳細

getMthodName

protected java.lang.String getMthodName()
呼び出し元の関数名を取得する。

戻り値:
この関数を呼出した、元の関数名

getTimestamp

protected void getTimestamp()
ログのタイムスタンプを生成する。


startTimer

protected void startTimer()
サーブレットの処理時間を測る為のタイマー開始要求


stopTimer

protected void stopTimer()
サーブレットの処理時間を測る為のタイマー停止要求 計測したナノ秒単位の処理時間が生成される。


getBeforeAttributes

protected void getBeforeAttributes(javax.servlet.http.HttpSession session)
サーブレット処理前のセッション属性内容を取得する。

パラメータ:
session -

getAfterAttributes

protected void getAfterAttributes(javax.servlet.http.HttpSession session)
サーブレット処理後のセッション属性内容を取得する。

パラメータ:
session -

getRequestHeader

protected void getRequestHeader(javax.servlet.http.HttpServletRequest request)
HTTP要求ヘッダの内容を取得する。

パラメータ:
request -

getResponseHeader

protected void getResponseHeader(info.dragonlady.filter.DebugLogFilter.DebuglogResponseWrapper response)
HTTP応答ヘッダの内容を取得する。

パラメータ:
response -

getRequest

protected void getRequest(javax.servlet.ServletRequest request)
要求パラメータの内容を取得する。

パラメータ:
request -

getResponse

protected void getResponse(info.dragonlady.filter.DebugLogFilter.DebuglogResponseWrapper response)
HTTP応答ボディを取得する。

パラメータ:
response -

get_yyyymmdd

protected java.lang.String get_yyyymmdd()
現在の時刻をYYYYMMDDHH24MISSMILLIフォーマットで生成する。

戻り値:

mkDir

protected void mkDir()
logDirPath抽象ファイルクラスが示すディレクトリを生成する。 ディレクトリツリーが存在しない場合、ディレクトリツリーごと生成する。


writeException

protected void writeException(java.lang.Exception ex)
例外トレースを1ファイルに出力する。

パラメータ:
ex -

logDate

protected int logDate(java.lang.String fileName)
指定されたファイル名から、ログファイルの生成された時間を抽出する。

パラメータ:
fileName -
戻り値:

deleteLogFile

protected void deleteLogFile(java.util.Vector<java.lang.String> logFilesList,
                             java.lang.String basePath)
                      throws java.io.IOException
指定された世代数を超えた、古いログファイルを削除する。

パラメータ:
logFilesList -
basePath -
例外:
java.io.IOException

selectLogFile

protected java.io.File selectLogFile()
                              throws java.io.IOException
出力するログファイルを応答する。

戻り値:
例外:
java.io.IOException

writeLog

protected void writeLog(javax.servlet.http.HttpServletRequest request,
                        info.dragonlady.filter.DebugLogFilter.DebuglogResponseWrapper response)
                 throws java.io.IOException
指定されたログモードに従ったログをログファイルに出力する。

パラメータ:
request -
response -
例外:
java.io.IOException

destroy

public void destroy()
定義:
インタフェース javax.servlet.Filter 内の destroy

doFilter

public void doFilter(javax.servlet.ServletRequest request,
                     javax.servlet.ServletResponse response,
                     javax.servlet.FilterChain chain)
              throws java.io.IOException,
                     javax.servlet.ServletException
定義:
インタフェース javax.servlet.Filter 内の doFilter
例外:
java.io.IOException
javax.servlet.ServletException

init

public void init(javax.servlet.FilterConfig filterConfig)
          throws javax.servlet.ServletException
定義:
インタフェース javax.servlet.Filter 内の init
例外:
javax.servlet.ServletException