- すべての実装されたインタフェース:
- Serializable
public class LogRecord extends Object implements Serializable
LogRecordがログのフレームワークに渡されると、LogRecordは論理的にそのフレームワークに所属します。クライアント・アプリケーションが使用したり、更新してはいけません。
クライアント・アプリケーションが明示的なソース・メソッド名とソース・クラス名を指定しなかった場合、LogRecordクラスは、getSourceMethodNameまたはgetSourceClassName呼出し経由でそれらの名前が初めてアクセスされた時点で、呼出しスタックを分析することでそれらの名前を自動的に推測することに注意してください。 したがって、ロギングHandlerは、LogRecordを別のスレッドに渡したりRMI経由で送信したりしたあとでメソッド名やクラス名の情報を取得できるようにしたい場合は、getSourceClassName、getSourceMethodNameのいずれかを呼び出すことで、値が強制的に設定されるようにすべきです。
直列化に関するノート:
- LogRecordクラスは直列化可能である
- パラメータ配列のオブジェクトは直列化できないので、直列化時にパラメータ配列のすべてのオブジェクトはObject.toStringを使用して対応するStringとして書き込まれる
- ResourceBundleは直列化された形式の一部として転送されないが、リソース・バンドル名は転送され、受け側のオブジェクトのreadObjectメソッドは適切なリソース・バンドルを検出しようとする
- 導入されたバージョン:
- 1.4
- 関連項目:
- 直列化された形式
- 
コンストラクタのサマリー
- 
メソッドのサマリー修飾子と型 メソッド 説明 InstantgetInstant()イベントが発生した瞬間を取得します。LevelgetLevel()ログ・メッセージ・レベル、たとえばLevel.SEVEREを返します。StringgetLoggerName()ソースLoggerの名前を取得します。StringgetMessage()ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを返します。longgetMillis()1970年以降の切り捨てイベント時間をミリ秒単位で取得します。Object[]getParameters()ログ・メッセージにパラメータを返します。ResourceBundlegetResourceBundle()ローカリゼーション・リソース・バンドルを返します。StringgetResourceBundleName()ローカリゼーション・リソース・バンドルの名前を返します。longgetSequenceNumber()シーケンス番号を返します。StringgetSourceClassName()ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。StringgetSourceMethodName()ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。intgetThreadID()メッセージの発生元のスレッドの識別子を返します。ThrowablegetThrown()ログ・レコードに関連したThrowableを返します。voidsetInstant(Instant instant)イベントが発生した瞬間を設定します。voidsetLevel(Level level)ログ・メッセージのレベル、たとえばLevel.SEVEREを設定します。voidsetLoggerName(String name)ソースLoggerの名前を設定します。voidsetMessage(String message)ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを設定します。voidsetMillis(long millis)Deprecated.LogRecordは、Instant値を使用して、ナノ秒の分解能でタイムスタンプを維持します。voidsetParameters(Object[] parameters)ログ・メッセージにパラメータを設定します。voidsetResourceBundle(ResourceBundle bundle)ローカリゼーション・リソース・バンドルを設定します。voidsetResourceBundleName(String name)ローカリゼーション・リソース・バンドルの名前を設定します。voidsetSequenceNumber(long seq)シーケンス番号を設定します。voidsetSourceClassName(String sourceClassName)ロギングの要求を発行したか、発行したと見なされるクラスの名前を設定します。voidsetSourceMethodName(String sourceMethodName)ロギングの要求を発行したか、発行したと見なされるメソッドの名前を設定します。voidsetThreadID(int threadID)メッセージの発生元のスレッドの識別子を設定します。voidsetThrown(Throwable thrown)ログ・イベントに関連したThrowableを設定します。
- 
コンストラクタの詳細- 
LogRecord指定されたレベルとメッセージの値を持つLogRecordを構築します。sequenceプロパティは新しい一意の値で初期化されます。 これらの連番値は、VM内で昇順に割り当てられます。 JDK 9以降、イベント時間は Instantで表されます。 インスタント・プロパティは、システム上で最も利用可能なclockを使用して、「現在の瞬間」に初期化されます。スレッドIDプロパティは現在のスレッドに対する一意のIDで初期化されます。 その他すべてのプロパティはnullに初期化されます。 - パラメータ:
- level- ログ・レベルの値
- msg- ローカライズされていないrawログ・メッセージ(nullも可能)
- 関連項目:
- Clock.systemUTC()
 
 
- 
- 
メソッドの詳細- 
getLoggerNamepublic String getLoggerName()ソースLoggerの名前を取得します。- 戻り値:
- ソース・ロガー名(nullの場合がある)
 
- 
setLoggerNamepublic void setLoggerName(String name)ソースLoggerの名前を設定します。- パラメータ:
- name- ソース・ロガー名(nullの場合がある)
 
- 
getResourceBundlepublic ResourceBundle getResourceBundle()ローカリゼーション・リソース・バンドルを返します。これは、メッセージ文字列のフォーマット前にその文字列をローカライズするのに使用すべきResourceBundleです。 メッセージがローカライズ可能でない場合、または適切なResourceBundleが使用可能でない場合は、結果がnullになります。 - 戻り値:
- ローカリゼーション・リソース・バンドル
 
- 
setResourceBundlepublic void setResourceBundle(ResourceBundle bundle)ローカリゼーション・リソース・バンドルを設定します。- パラメータ:
- bundle- ローカリゼーション・バンドル(nullの場合がある)
 
- 
getResourceBundleNamepublic String getResourceBundleName()ローカリゼーション・リソース・バンドルの名前を返します。これは、メッセージ文字列のフォーマット前にその文字列をローカライズするのに使用すべきResourceBundleの名前です。 メッセージがローカライズ可能でない場合は、結果がnullになります。 - 戻り値:
- ローカリゼーション・リソース・バンドルの名前
 
- 
setResourceBundleNamepublic void setResourceBundleName(String name)ローカリゼーション・リソース・バンドルの名前を設定します。- パラメータ:
- name- ローカリゼーション・バンドルの名前(nullの場合がある)
 
- 
getLevelpublic Level getLevel()ログ・メッセージ・レベル、たとえばLevel.SEVEREを返します。- 戻り値:
- ログ・メッセージのレベル
 
- 
setLevelpublic void setLevel(Level level)ログ・メッセージのレベル、たとえばLevel.SEVEREを設定します。- パラメータ:
- level- ログ・メッセージのレベル
 
- 
getSequenceNumberpublic long getSequenceNumber()シーケンス番号を返します。通常、シーケンス番号はLogRecordコンストラクタに割り当てられ、コンストラクタは新規の各LogRecordに昇順で一意のシーケンス番号を割り当てます。 - 戻り値:
- シーケンス番号
 
- 
setSequenceNumberpublic void setSequenceNumber(long seq)シーケンス番号を設定します。通常、シーケンス番号はLogRecordコンストラクタに割り当てられます。したがって、通常このメソッドを使用する必要がありません。 - パラメータ:
- seq- シーケンス番号
 
- 
getSourceClassNamepublic String getSourceClassName()ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。このsourceClassNameは検証されないため、スプーフィングされる可能性があることに注意してください。 この情報は、ロギング呼出しの一部として提供されたか、ロギング・フレームワークによって自動的に推測されたものです。 後者の場合、この情報は概算値でしかなく、実際、スタック・フレーム上の以前の呼出しを記述したものである可能性があります。 情報が取得されない場合はnullの場合があります。 - 戻り値:
- ソース・クラスの名前
 
- 
setSourceClassNamepublic void setSourceClassName(String sourceClassName)ロギングの要求を発行したか、発行したと見なされるクラスの名前を設定します。- パラメータ:
- sourceClassName- ソース・クラス名(nullの場合がある)
 
- 
getSourceMethodNamepublic String getSourceMethodName()ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。このsourceMethodNameは検証されないため、スプーフィングされる可能性があることに注意してください。 この情報は、ロギング呼出しの一部として提供されたか、ロギング・フレームワークによって自動的に推測されたものです。 後者の場合、この情報は概算値でしかなく、実際、スタック・フレーム上の以前の呼出しを記述したものである可能性があります。 情報が取得されない場合はnullの場合があります。 - 戻り値:
- ソース・メソッドの名前
 
- 
setSourceMethodNamepublic void setSourceMethodName(String sourceMethodName)ロギングの要求を発行したか、発行したと見なされるメソッドの名前を設定します。- パラメータ:
- sourceMethodName- ソース・メソッド名(nullの場合がある)
 
- 
getMessagepublic String getMessage()ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを返します。nullの場合があり、これは空の文字列""と同等です。 このメッセージは、ファイナル・テキストまたはローカリゼーション・キーのいずれかです。 フォーマット処理時に、ソース・ロガーがローカリゼーションResourceBundleを持っており、そのResourceBundleがこのメッセージ文字列に対するエントリを持っている場合は、メッセージ文字列はローカライズされた値に置き換えられます。 - 戻り値:
- 未変換のメッセージ文字列
 
- 
setMessagepublic void setMessage(String message)ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを設定します。- パラメータ:
- message- rawメッセージ文字列(nullの場合もある)
 
- 
getParameterspublic Object[] getParameters()ログ・メッセージにパラメータを返します。- 戻り値:
- ログ・メッセージのパラメータ パラメータが存在しない場合はnull
 
- 
setParameterspublic void setParameters(Object[] parameters)ログ・メッセージにパラメータを設定します。- パラメータ:
- parameters- ログ・メッセージのパラメータ。(nullの可能性がある)
 
- 
getThreadIDpublic int getThreadID()メッセージの発生元のスレッドの識別子を返します。これはJava VM内のスレッド識別子であり、任意のオペレーティング・システム識別子にマッピングされる場合とされない場合があります。 - 戻り値:
- スレッドID
 
- 
setThreadIDpublic void setThreadID(int threadID)メッセージの発生元のスレッドの識別子を設定します。- パラメータ:
- threadID- スレッドのID
 
- 
getMillispublic long getMillis()1970年以降の切り捨てイベント時間をミリ秒単位で取得します。- APIのノート:
- 完全なナノ秒分解能イベント時間を得るには、getInstant()を使用します。
- 実装要件:
- これはgetInstant().toEpochMilli()を呼び出すのと同じです。
- 戻り値:
- 1970年以降の切り捨てイベント時間(ミリ秒単位)
- 関連項目:
- getInstant()
 
- 
setMillis@Deprecatedpublic void setMillis(long millis)Deprecated.LogRecordは、Instant値を使用して、ナノ秒の分解能でタイムスタンプを維持します。 このため、setMillis()に優先してsetInstant()を使用する必要があります。イベントの時間を設定します。- 実装要件:
- これはsetInstant(Instant.ofEpochMilli(millis))を呼び出すのと同じです。
- パラメータ:
- millis- 1970年以降のイベントの時間(ミリ秒単位)
- 関連項目:
- setInstant(java.time.Instant)
 
- 
getInstantpublic Instant getInstant()イベントが発生した瞬間を取得します。- 戻り値:
- イベントが発生した瞬間。
- 導入されたバージョン:
- 9
 
- 
setInstantpublic void setInstant(Instant instant)イベントが発生した瞬間を設定します。指定された instantが将来的にあまりにも遠すぎるタイムライン上のポイントを表す場合、またはlongミリ秒とナノ秒の調整に収まるようにすると、ArithmeticExceptionがスローされます。- パラメータ:
- instant- イベントが発生した瞬間。
- 例外:
- NullPointerException-- instantがnullの場合。
- ArithmeticException-- instant.toEpochMilli()の呼び出し中に数値オーバーフローが発生した場合。
- 導入されたバージョン:
- 9
 
- 
getThrownpublic Throwable getThrown()ログ・レコードに関連したThrowableを返します。イベントが例外を含む場合、これは例外オブジェクトになります。 それ以外の場合はNULL。 - 戻り値:
- throwable
 
- 
setThrownpublic void setThrown(Throwable thrown)ログ・イベントに関連したThrowableを設定します。- パラメータ:
- thrown- スロー可能オブジェクト(nullも可能)
 
 
-