Class LogWriterSupport

java.lang.Object
nablarch.core.log.basic.LogWriterSupport
All Implemented Interfaces:
LogWriter
Direct Known Subclasses:
FileLogWriter, StandardOutputLogWriter

@Published(tag="architect") public abstract class LogWriterSupport extends Object implements LogWriter
LogWriterの実装をサポートするクラス。

このクラスでは、下記の機能を提供する。 上記の機能は、プロパティファイルに設定を記述して使用する。
プロパティファイルの記述ルールを下記に示す。
writer.<LogWriterの名称>.level
LogLevelの名称。オプション。
LogLevelの名称を指定する。
ここで指定したレベル以上のログを全て出力する。 指定がない場合はレベルに応じた出力制御を行わず、全てのレベルのログを出力する。
writer.<LogWriterの名称>.formatter.className
LogWriterで使用するLogFormatterのクラス名。
LogFormatterを実装したクラスのFQCNを指定する。 指定がない場合はBasicLogFormatterを使用する。
writer.<LogWriterの名称>.formatter.<プロパティ名>
LogFormatter毎のプロパティに設定する値。
設定内容は、使用するLogFormatterのJavadocを参照すること。
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected LogFormatter
    設定を使用してLogFormatterを生成する。
    protected LogFormatter
    LogFormatterを取得する。
    protected String
    設定で指定されたLogWriterの名称を取得する。
    protected String
    設定情報を取得する。

    設定情報のフォーマットを下記に示す。

    WRITER NAME = [<LogWriterの名称>]
    WRITER CLASS = [<LogWriterのクラス名>]
    FORMATTER CLASS = [<LogFormatterのクラス名>]
    LEVEL = [<ログの出力制御の基準とするLogLevel>]
    void
    初期処理を行う。

    ログの出力先に応じたリソースの確保などを行う。
    boolean
    現在の設定から、指定されたログエントリを出力するか否かを返す。
    protected void
    初期処理を行う。
    ログの出力先に応じたリソースの確保などを実装する。
    デフォルト実装では何もしない。
    protected void
    終了処理を行う。
    ログの出力先に応じて確保しているリソースの解放などを実装する。
    デフォルト実装では何もしない。
    protected abstract void
    onWrite(String formattedMessage)
    フォーマット済みのログを出力先に書き込む。
    void
    終了処理を行う。

    ログの出力先に応じて確保しているリソースの解放などを行う。
    void
    write(LogContext context)
    フォーマット済みのログを出力先に書き込む。

    設定でLogLevelが指定されている場合は、有効なレベルの場合のみonWrite(String)メソッドを呼び出す。
    有効なレベルのログでない場合は、何も処理しない。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LogWriterSupport

      public LogWriterSupport()
  • Method Details

    • initialize

      public void initialize(ObjectSettings settings)
      初期処理を行う。

      ログの出力先に応じたリソースの確保などを行う。

      設定を使用してLogLevelLogFormatterを初期化する。
      Specified by:
      initialize in interface LogWriter
      Parameters:
      settings - LogWriterの設定
    • createLogFormatter

      protected LogFormatter createLogFormatter(ObjectSettings settings)
      設定を使用してLogFormatterを生成する。
      Parameters:
      settings - LogFormatterの設定
      Returns:
      設定を使用して生成したLogFormatter。指定がない場合はnull
    • onInitialize

      protected void onInitialize(ObjectSettings settings)
      初期処理を行う。
      ログの出力先に応じたリソースの確保などを実装する。
      デフォルト実装では何もしない。
      Parameters:
      settings - LogWriterの設定内容
    • terminate

      public void terminate()
      終了処理を行う。

      ログの出力先に応じて確保しているリソースの解放などを行う。
      Specified by:
      terminate in interface LogWriter
    • onTerminate

      protected void onTerminate()
      終了処理を行う。
      ログの出力先に応じて確保しているリソースの解放などを実装する。
      デフォルト実装では何もしない。
    • write

      public void write(LogContext context)
      フォーマット済みのログを出力先に書き込む。

      設定でLogLevelが指定されている場合は、有効なレベルの場合のみonWrite(String)メソッドを呼び出す。
      有効なレベルのログでない場合は、何も処理しない。
      Specified by:
      write in interface LogWriter
      Parameters:
      context - LogContext
    • needsToWrite

      public boolean needsToWrite(LogContext context)
      現在の設定から、指定されたログエントリを出力するか否かを返す。
      Parameters:
      context - ログエントリオブジェクト
      Returns:
      ログを出力する場合はtrue
    • onWrite

      protected abstract void onWrite(String formattedMessage)
      フォーマット済みのログを出力先に書き込む。
      Parameters:
      formattedMessage - フォーマット済みのログ
    • getSettings

      protected String getSettings()
      設定情報を取得する。

      設定情報のフォーマットを下記に示す。

      WRITER NAME = [<LogWriterの名称>]
      WRITER CLASS = [<LogWriterのクラス名>]
      FORMATTER CLASS = [<LogFormatterのクラス名>]
      LEVEL = [<ログの出力制御の基準とするLogLevel>]
      Returns:
      設定情報
    • getName

      protected String getName()
      設定で指定されたLogWriterの名称を取得する。
      Returns:
      設定で指定されたLogWriterの名称
    • getFormatter

      protected LogFormatter getFormatter()
      LogFormatterを取得する。
      Returns:
      LogFormatter