モジュール java.logging
パッケージ java.util.logging

クラスLogRecord

java.lang.Object
java.util.logging.LogRecord
すべての実装されたインタフェース:
Serializable

public class LogRecord extends Object implements Serializable
LogRecordオブジェクトを使用して、ログのフレームワークと個々のログHandler間のロギングの要求を渡します。

LogRecordがログのフレームワークに渡されると、LogRecordは論理的にそのフレームワークに所属します。クライアント・アプリケーションが使用したり、更新してはいけません。

クライアント・アプリケーションが明示的なソース・メソッド名とソース・クラス名を指定しなかった場合、LogRecordクラスは、getSourceMethodNameまたはgetSourceClassName呼出し経由でそれらの名前が初めてアクセスされた時点で、呼出しスタックを分析することでそれらの名前を自動的に推測することに注意してください。 したがって、ロギングHandlerは、LogRecordを別のスレッドに渡したりRMI経由で送信したりしたあとでメソッド名やクラス名の情報を取得できるようにしたい場合は、getSourceClassName、getSourceMethodNameのいずれかを呼び出すことで、値が強制的に設定されるようにすべきです。

直列化に関するノート:

  • LogRecordクラスは直列化可能である
  • パラメータ配列のオブジェクトは直列化できないので、直列化時にパラメータ配列のすべてのオブジェクトはObject.toStringを使用して対応するStringとして書き込まれる
  • ResourceBundleは直列化された形式の一部として転送されないが、リソース・バンドル名は転送され、受け側のオブジェクトのreadObjectメソッドは適切なリソース・バンドルを検出しようとする

導入されたバージョン:
1.4
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    LogRecord(Level level, String msg)
    指定されたレベルとメッセージの値を持つLogRecordを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    イベントが発生した瞬間を取得します。
    ログ・メッセージ・レベル、たとえばLevel.SEVEREを返します。
    ソースLoggerの名前を取得します。
    long
    メッセージが発生したスレッドのスレッド識別子を取得
    ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを返します。
    long
    1970年以降の切り捨てイベント時間をミリ秒単位で取得します。
    ログ・メッセージにパラメータを返します。
    ローカリゼーション・リソース・バンドルを返します。
    ローカリゼーション・リソース・バンドルの名前を返します。
    long
    シーケンス番号を返します。
    ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。
    ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。
    int
    非推奨。
    このメソッドによって返される値は合成可能であり、実際の「スレッドID」に対応していない可能性があります。かわりにgetLongThreadID()を使用してください。
    ログ・レコードに関連したThrowableを返します。
    void
    イベントが発生した瞬間を設定します。
    void
    setLevel(Level level)
    ログ・メッセージのレベル、たとえばLevel.SEVEREを設定します。
    void
    ソースLoggerの名前を設定します。
    setLongThreadID(long longThreadID)
    メッセージの発生元のスレッドの識別子を設定します。
    void
    setMessage(String message)
    ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを設定します。
    void
    setMillis(long millis)
    非推奨。
    LogRecordは、Instant値を使用して、ナノ秒の分解能でタイムスタンプを維持します。
    void
    setParameters(Object[] parameters)
    ログ・メッセージにパラメータを設定します。
    void
    ローカリゼーション・リソース・バンドルを設定します。
    void
    ローカリゼーション・リソース・バンドルの名前を設定します。
    void
    シーケンス番号を設定します。
    void
    setSourceClassName(String sourceClassName)
    ロギングの要求を発行したか、発行したと見なされるクラスの名前を設定します。
    void
    setSourceMethodName(String sourceMethodName)
    ロギングの要求を発行したか、発行したと見なされるメソッドの名前を設定します。
    void
    setThreadID(int threadID)
    非推奨。
    このメソッドでは長い「スレッドID」を渡すことはできません。かわりにsetLongThreadID(long)を使用してください。
    void
    ログ・イベントに関連したThrowableを設定します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • LogRecord

      public LogRecord(Level level, String msg)
      指定されたレベルとメッセージの値を持つLogRecordを構築します。

      sequenceプロパティは新しい一意の値で初期化されます。 これらの連番値は、VM内で昇順に割り当てられます。

      JDK 9以降、イベント時間はInstantで表されます。 インスタント・プロパティは、システム上で最も利用可能なclockを使用して、「現在の瞬間」に初期化されます。

      スレッドIDプロパティは現在のスレッドに対する一意のIDで初期化されます。

      その他すべてのプロパティはnullに初期化されます。

      パラメータ:
      level - ログ・レベルの値
      msg - ローカライズされていないrawログ・メッセージ(nullも可能)
      関連項目:
  • メソッドの詳細

    • getLoggerName

      public String getLoggerName()
      ソースLoggerの名前を取得します。
      戻り値:
      ソース・ロガー名(nullの場合がある)
    • setLoggerName

      public void setLoggerName(String name)
      ソースLoggerの名前を設定します。
      パラメータ:
      name - ソース・ロガー名(nullの場合がある)
    • getResourceBundle

      public ResourceBundle getResourceBundle()
      ローカリゼーション・リソース・バンドルを返します。

      これは、メッセージ文字列のフォーマット前にその文字列をローカライズするのに使用すべきResourceBundleです。 メッセージがローカライズ可能でない場合、または適切なResourceBundleが使用可能でない場合は、結果がnullになります。

      戻り値:
      ローカリゼーション・リソース・バンドル
    • setResourceBundle

      public void setResourceBundle(ResourceBundle bundle)
      ローカリゼーション・リソース・バンドルを設定します。
      パラメータ:
      bundle - ローカリゼーション・バンドル(nullの場合がある)
    • getResourceBundleName

      public String getResourceBundleName()
      ローカリゼーション・リソース・バンドルの名前を返します。

      これは、メッセージ文字列のフォーマット前にその文字列をローカライズするのに使用すべきResourceBundleの名前です。 メッセージがローカライズ可能でない場合は、結果がnullになります。

      戻り値:
      ローカリゼーション・リソース・バンドルの名前
    • setResourceBundleName

      public void setResourceBundleName(String name)
      ローカリゼーション・リソース・バンドルの名前を設定します。
      パラメータ:
      name - ローカリゼーション・バンドルの名前(nullの場合がある)
    • getLevel

      public Level getLevel()
      ログ・メッセージ・レベル、たとえばLevel.SEVEREを返します。
      戻り値:
      ログ・メッセージのレベル
    • setLevel

      public void setLevel(Level level)
      ログ・メッセージのレベル、たとえばLevel.SEVEREを設定します。
      パラメータ:
      level - ログ・メッセージのレベル
    • getSequenceNumber

      public long getSequenceNumber()
      シーケンス番号を返します。

      通常、シーケンス番号はLogRecordコンストラクタに割り当てられ、コンストラクタは新規の各LogRecordに昇順で一意のシーケンス番号を割り当てます。

      戻り値:
      シーケンス番号
    • setSequenceNumber

      public void setSequenceNumber(long seq)
      シーケンス番号を設定します。

      通常、シーケンス番号はLogRecordコンストラクタに割り当てられます。したがって、通常このメソッドを使用する必要がありません。

      パラメータ:
      seq - シーケンス番号
    • getSourceClassName

      public String getSourceClassName()
      ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。

      このsourceClassNameは検証されないため、スプーフィングされる可能性があることに注意してください。 この情報は、ロギング呼出しの一部として提供されたか、ロギング・フレームワークによって自動的に推測されたものです。 後者の場合、この情報は概算値でしかなく、実際、スタック・フレーム上の以前の呼出しを記述したものである可能性があります。

      情報が取得されない場合はnullの場合があります。

      戻り値:
      ソース・クラスの名前
    • setSourceClassName

      public void setSourceClassName(String sourceClassName)
      ロギングの要求を発行したか、発行したと見なされるクラスの名前を設定します。
      パラメータ:
      sourceClassName - ソース・クラス名(nullの場合がある)
    • getSourceMethodName

      public String getSourceMethodName()
      ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。

      このsourceMethodNameは検証されないため、スプーフィングされる可能性があることに注意してください。 この情報は、ロギング呼出しの一部として提供されたか、ロギング・フレームワークによって自動的に推測されたものです。 後者の場合、この情報は概算値でしかなく、実際、スタック・フレーム上の以前の呼出しを記述したものである可能性があります。

      情報が取得されない場合はnullの場合があります。

      戻り値:
      ソース・メソッドの名前
    • setSourceMethodName

      public void setSourceMethodName(String sourceMethodName)
      ロギングの要求を発行したか、発行したと見なされるメソッドの名前を設定します。
      パラメータ:
      sourceMethodName - ソース・メソッド名(nullの場合がある)
    • getMessage

      public String getMessage()
      ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを返します。

      nullの場合があり、これは空の文字列""と同等です。

      このメッセージは、ファイナル・テキストまたはローカリゼーション・キーのいずれかです。

      フォーマット処理時に、ソース・ロガーがローカリゼーションResourceBundleを持っており、そのResourceBundleがこのメッセージ文字列に対するエントリを持っている場合は、メッセージ文字列はローカライズされた値に置き換えられます。

      戻り値:
      未変換のメッセージ文字列
    • setMessage

      public void setMessage(String message)
      ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを設定します。
      パラメータ:
      message - rawメッセージ文字列(nullの場合もある)
    • getParameters

      public Object[] getParameters()
      ログ・メッセージにパラメータを返します。
      戻り値:
      ログ・メッセージのパラメータ パラメータが存在しない場合はnull
    • setParameters

      public void setParameters(Object[] parameters)
      ログ・メッセージにパラメータを設定します。
      パラメータ:
      parameters - ログ・メッセージのパラメータ。(nullの可能性がある)
    • getThreadID

      @Deprecated(since="16") public int getThreadID()
      非推奨。
      このメソッドによって返される値は合成可能であり、実際の「スレッドID」に対応していない可能性があります。かわりにgetLongThreadID()を使用してください。
      メッセージの発生元のスレッドの識別子を返します。

      これはJava VM内のスレッド識別子であり、任意のオペレーティング・システム識別子にマッピングされる場合とされない場合があります。

      戻り値:
      スレッドID
    • setThreadID

      @Deprecated(since="16") public void setThreadID(int threadID)
      非推奨。
      このメソッドでは長い「スレッドID」を渡すことはできません。かわりにsetLongThreadID(long)を使用してください。
      メッセージの発生元のスレッドの識別子を設定します。
      パラメータ:
      threadID - スレッドのID
    • getLongThreadID

      public long getLongThreadID()
      メッセージが発生したスレッドのスレッド識別子を取得

      これはJava VM内のスレッド識別子であり、任意のオペレーティング・システム識別子にマッピングされる場合とされない場合があります。

      戻り値:
      スレッドID
      導入されたバージョン:
      16
    • setLongThreadID

      public LogRecord setLongThreadID(long longThreadID)
      メッセージの発生元のスレッドの識別子を設定します。
      パラメータ:
      longThreadID - スレッドID
      戻り値:
      このLogRecord
      導入されたバージョン:
      16
    • getMillis

      public long getMillis()
      1970年以降の切り捨てイベント時間をミリ秒単位で取得します。
      APIのノート:
      完全なナノ秒分解能イベント時間を得るには、getInstant()を使用します。
      実装要件:
      これはgetInstant().toEpochMilli()を呼び出すのと同じです。
      戻り値:
      1970年以降の切り捨てイベント時間(ミリ秒単位)
      関連項目:
    • setMillis

      @Deprecated public void setMillis(long millis)
      非推奨。
      LogRecordは、Instant値を使用して、ナノ秒の分解能でタイムスタンプを維持します。 このため、setMillis()に優先してsetInstant()を使用する必要があります。
      イベントの時間を設定します。
      実装要件:
      これはsetInstant(Instant.ofEpochMilli(millis))を呼び出すのと同じです。
      パラメータ:
      millis - 1970年以降のイベントの時間(ミリ秒単位)
      関連項目:
    • getInstant

      public Instant getInstant()
      イベントが発生した瞬間を取得します。
      戻り値:
      イベントが発生した瞬間。
      導入されたバージョン:
      9
    • setInstant

      public void setInstant(Instant instant)
      イベントが発生した瞬間を設定します。

      指定されたinstantが将来的にあまりにも遠すぎるタイムライン上のポイントを表す場合、またはlongミリ秒とナノ秒の調整に収まるようにすると、ArithmeticExceptionがスローされます。

      パラメータ:
      instant - イベントが発生した瞬間。
      例外:
      NullPointerException - instantがnullの場合。
      ArithmeticException - instant.toEpochMilli()の呼び出し中に数値オーバーフローが発生した場合。
      導入されたバージョン:
      9
    • getThrown

      public Throwable getThrown()
      ログ・レコードに関連したThrowableを返します。

      イベントが例外を含む場合、これは例外オブジェクトになります。 それ以外の場合はNULL。

      戻り値:
      throwable
    • setThrown

      public void setThrown(Throwable thrown)
      ログ・イベントに関連したThrowableを設定します。
      パラメータ:
      thrown - スロー可能オブジェクト(nullも可能)