jp.co.fujitsu.reffi.client.nexaweb.logconsumer
クラス FileLogConsumer

java.lang.Object
  上位を拡張 jp.co.fujitsu.reffi.client.nexaweb.logconsumer.LogConsumerAdapter
      上位を拡張 jp.co.fujitsu.reffi.client.nexaweb.logconsumer.FileLogConsumer
すべての実装されたインタフェース:
LogConsumer

public class FileLogConsumer
extends LogConsumerAdapter

[概 要]

クライアントログイベントをハンドリングしてローカルファイルに書き込むクラスです。

[詳 細]

logイベント受信時にファイルにログメッセージ内容を書き込みます。
ログファイルのファイル名パターンは「prefix-YYYYMMDD-suffix」です。
initメソッドに渡されるClientConfigオブジェクトの以下設定項目によって動作設定が行われます。()内はデフォルト値です。
これらの値を変更する場合は、 jp.co.fujitsu.reffi.client.nexaweb.controller.BaseController#initialize() を参照して下さい。

[備 考]

このLogConsumerはローカルファイルにアクセスする為、アプレット起動時はデジタル署名が必要です。

[環 境] JDK 6.0 Update 11

Copyright (c) 2008-2009 FUJITSU Japan All rights reserved.

作成者:
Project Reffi

コンストラクタの概要
FileLogConsumer()
           
 
メソッドの概要
protected  void closeWriter()
          [概 要] ログファイルへの書き込みストリームを閉じます。
protected  OutputStreamWriter createWriter(File logFile)
          [概 要] ログファイルへの書き込みストリームを生成します。
 String getDirectoryPath()
          [概 要] ログファイルが格納されるディレクトリパスを取得します。
 String getEncoding()
          [概 要] ログ出力キャラセットを取得します。
 int getMaxBackupIndex()
          [概 要] サイズローテーション後のバックアップ最大数を取得します。
 int getMaxFileExist()
          [概 要] ディレクトリ内に存在するログファイル上限を取得します。
 long getMaxFileSize()
          [概 要] 一ログファイルの最大サイズを取得します。
 String getPrefix()
          [概 要] ログファイル名の接頭文字を取得します。
 String getSuffix()
          [概 要] ログファイル名の拡張子を取得します。
 Writer getWriter()
          [概 要] ログファイルへの書き込みストリームを取得します。
 void init(Object obj)
          [概 要] このLogConsumerを初期化します。
 void log(LogEvent evt)
          [概 要] ログイベント受信ハンドラです。
protected  String logFileName()
          [概 要] ログファイル名を生成します。
protected  String logFilePath()
          [概 要] 生成されるログファイルのフルパスを取得します。
protected  void rotateByMaxExist()
          [概 要] ディレクトリ内のログファイルが指定最大数を超えた場合、古いログファイルを消去します。
protected  void rotateBySize(File logFile)
          [概 要] 指定最大byteを超えた書き込み対象ログファイルのバックアップをとります。
 void setDirectoryPath(String directoryPath)
          [概 要] ログファイルが格納されるディレクトリ名を設定します。
 void setEncoding(String encoding)
          [概 要] ログ出力キャラセットを設定します。
 void setMaxBackupIndex(int maxBackupIndex)
          [概 要] サイズローテーション後のバックアップ最大数を設定します。
 void setMaxFileExist(int maxFileExist)
          [概 要] ディレクトリ内に存在するログファイル上限を設定します。
 void setMaxFileSize(long maxFileSize)
          [概 要] 一ログファイルの最大サイズを設定します。
 void setPrefix(String prefix)
          [概 要] ログファイル名の接頭文字を設定します。
 void setSuffix(String suffix)
          [概 要] ログファイル名の拡張子を設定します。
 void setWriter(Writer writer)
          [概 要] ログファイルへの書き込みストリームを設定します。
 
クラス jp.co.fujitsu.reffi.client.nexaweb.logconsumer.LogConsumerAdapter から継承されたメソッド
createLogString, destroy, getDateFormat, getDateTime, getHeader, getLevelString, setDateFormat
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FileLogConsumer

public FileLogConsumer()
メソッドの詳細

getDirectoryPath

public String getDirectoryPath()

[概 要]

ログファイルが格納されるディレクトリパスを取得します。

[詳 細]

directoryPathフィールドを返却します。

[備 考]

戻り値:
ログファイルが格納されるディレクトリパス

setDirectoryPath

public void setDirectoryPath(String directoryPath)

[概 要]

ログファイルが格納されるディレクトリ名を設定します。

[詳 細]

directoryPathフィールドに引数directoryPathを設定します。

[備 考]

パラメータ:
directoryPath - ログファイルが格納されるディレクトリパス

getMaxFileExist

public int getMaxFileExist()

[概 要]

ディレクトリ内に存在するログファイル上限を取得します。

[詳 細]

maxFileExistフィールドを返却します。

[備 考]

戻り値:
ディレクトリ内に存在するログファイル上限

setMaxFileExist

public void setMaxFileExist(int maxFileExist)

[概 要]

ディレクトリ内に存在するログファイル上限を設定します。

[詳 細]

maxFileExistフィールドを引数maxFileExistで設定します。

[備 考]

パラメータ:
maxFileExist - ディレクトリ内に存在するログファイル上限

getMaxFileSize

public long getMaxFileSize()

[概 要]

一ログファイルの最大サイズを取得します。

[詳 細]

maxFileSizeフィールドを返却します。

[備 考]

戻り値:
一ログファイルの最大サイズ

setMaxFileSize

public void setMaxFileSize(long maxFileSize)

[概 要]

一ログファイルの最大サイズを設定します。

[詳 細]

maxFileSizeフィールドに引数maxFileSizeを設定します。

[備 考]

パラメータ:
maxFileSize - 一ログファイルの最大サイズ

getMaxBackupIndex

public int getMaxBackupIndex()

[概 要]

サイズローテーション後のバックアップ最大数を取得します。

[詳 細]

maxBackupIndexフィールドを返却します。

[備 考]

戻り値:
サイズローテーション後のバックアップ最大数

setMaxBackupIndex

public void setMaxBackupIndex(int maxBackupIndex)

[概 要]

サイズローテーション後のバックアップ最大数を設定します。

[詳 細]

maxBackupIndexフィールドに引数maxBackupIndexを設定します。

[備 考]

パラメータ:
maxBackupIndex - サイズローテーション後のバックアップ最大数

getPrefix

public String getPrefix()

[概 要]

ログファイル名の接頭文字を取得します。

[詳 細]

prefixフィールドを返却します。

[備 考]

戻り値:
ログファイル名の接頭文字

setPrefix

public void setPrefix(String prefix)

[概 要]

ログファイル名の接頭文字を設定します。

[詳 細]

prefixフィールドに引数prefixを設定します。

[備 考]

パラメータ:
prefix - ログファイル名の接頭文字

getSuffix

public String getSuffix()

[概 要]

ログファイル名の拡張子を取得します。

[詳 細]

suffixフィールドを返却します。

[備 考]

戻り値:
ログファイル名の拡張子

setSuffix

public void setSuffix(String suffix)

[概 要]

ログファイル名の拡張子を設定します。

[詳 細]

suffixフィールドに引数suffixを設定します。

[備 考]

パラメータ:
suffix - ログファイル名の拡張子

getEncoding

public String getEncoding()

[概 要]

ログ出力キャラセットを取得します。

[詳 細]

encodingフィールドを返却します。

[備 考]

戻り値:
ログ出力キャラセット

setEncoding

public void setEncoding(String encoding)

[概 要]

ログ出力キャラセットを設定します。

[詳 細]

encodingフィールドに引数encodingを設定します。

[備 考]

パラメータ:
encoding - ログ出力キャラセット

getWriter

public Writer getWriter()

[概 要]

ログファイルへの書き込みストリームを取得します。

[詳 細]

writerフィールドを返却します。

[備 考]

戻り値:
ログファイルへの書き込みストリーム

setWriter

public void setWriter(Writer writer)

[概 要]

ログファイルへの書き込みストリームを設定します。

[詳 細]

writerフィールドを引数writerで設定します。

[備 考]

パラメータ:
writer - ログファイルへの書き込みストリーム

init

public void init(Object obj)

[概 要]

このLogConsumerを初期化します。

[詳 細]

ClientConfig初期化オブジェクトから以下を取得してフィールドに設定します。 ログファイル格納ディレクトリに関しては以下のように加工して設定されます。
System.getProperties("user.home") / 指定されたディレクトリ名
このディレクトリが存在しない場合、新規に作成されます。

[備 考]

Properties以外のobjは初期化パラメータとして認識されません。

定義:
インタフェース LogConsumer 内の init
オーバーライド:
クラス LogConsumerAdapter 内の init
パラメータ:
obj - 初期化パラメータ

log

public void log(LogEvent evt)

[概 要]

ログイベント受信ハンドラです。

[詳 細]

LogConsumer#log(LogEvent)を実装します。 初期化された設定情報を元にファイルにログを追記、ローテーションします。

[備 考]

パラメータ:
evt - Logクラスが発行したログイベント

rotateBySize

protected void rotateBySize(File logFile)
                     throws IOException

[概 要]

指定最大byteを超えた書き込み対象ログファイルのバックアップをとります。

[詳 細]

getMaxBackupIndex()の返却値が0以上の場合、ファイル名に.1を付与します。
ファイル名.1が既に存在している場合、ファイル名.1はファイル名.2にリネームされます。
.nがgetMaxBackupIndex()を超えた場合、最も古いバックアップファイルは削除されます。

[備 考]

getMaxBackupIndex()の返却値が0の場合はサイズバックアップは行われません。

パラメータ:
logFile - 書き込み中のログファイルインスタンス
例外:
IOException

rotateByMaxExist

protected void rotateByMaxExist()

[概 要]

ディレクトリ内のログファイルが指定最大数を超えた場合、古いログファイルを消去します。

[詳 細]

getDirectoryPath()で求められるディレクトリから全ログファイルを取得、 ファイル数を求めます。
(この際、ログファイルの識別にgetPrefix()が使用されます。)
このファイル数がgetMaxFileExist()で得られる値を超過していた場合、 超過数分のログファイルを古い順に削除します。

[備 考]


createWriter

protected OutputStreamWriter createWriter(File logFile)
                                   throws IOException

[概 要]

ログファイルへの書き込みストリームを生成します。

[詳 細]

引数logFileへのOutputStreamWriterを、getEncoding()エンコーディング で作成、返却します。

[備 考]

パラメータ:
logFile - 書き込み対象にするログファイル
戻り値:
ログファイルへの書き込みストリーム
例外:
IOException

closeWriter

protected void closeWriter()
                    throws IOException

[概 要]

ログファイルへの書き込みストリームを閉じます。

[詳 細]

getWriter()がnullでは無い場合、getWriter().close()をコールします。
ストリームが閉じた後、setWriter(null)を行います。

[備 考]

例外:
IOException

logFileName

protected String logFileName()

[概 要]

ログファイル名を生成します。

[詳 細]

「プレフィックス + YYYYMMDD + サフィックス」のパターンでファイル名を生成します。
プレフィックスとサフィックスにはClientConfigオブジェクトの以下の値を使用します。

[備 考]

プレフィックスとサフィックスを変更する場合は jp.co.fujitsu.reffi.client.nexaweb.controller.BaseController#initialize() を参照して下さい。

戻り値:
ログファイル名

logFilePath

protected String logFilePath()

[概 要]

生成されるログファイルのフルパスを取得します。

[詳 細]

System.getProperties("user.home") / 指定されたディレクトリ名 / ログファイル名
を返却します。
「指定されたディレクトリ名」にはClientConfig#getLogFileDir()の返却値を使用します。

[備 考]

ディレクトリ名を変更する場合は jp.co.fujitsu.reffi.client.nexaweb.controller.BaseController#initialize() を参照して下さい。

戻り値:
ログファイルのフルパス


Copyright(C) Fujitsu All Rights Reserved.