- すべての実装されたインタフェース:
Serializable
LogRecordがログのフレームワークに渡されると、LogRecordは論理的にそのフレームワークに所属します。クライアント・アプリケーションが使用したり、更新してはいけません。
クライアント・アプリケーションが明示的なソース・メソッド名とソース・クラス名を指定しなかった場合、LogRecordクラスは、getSourceMethodNameまたはgetSourceClassName呼出し経由でそれらの名前が初めてアクセスされた時点で、呼出しスタックを分析することでそれらの名前を自動的に推測することに注意してください。 したがって、ロギングHandlerは、LogRecordを別のスレッドに渡したりRMI経由で送信したりしたあとでメソッド名やクラス名の情報を取得できるようにしたい場合は、getSourceClassName、getSourceMethodNameのいずれかを呼び出すことで、値が強制的に設定されるようにすべきです。
直列化に関するノート:
- LogRecordクラスは直列化可能である
- パラメータ配列のオブジェクトは直列化できないので、直列化時にパラメータ配列のすべてのオブジェクトはObject.toStringを使用して対応するStringとして書き込まれる
- ResourceBundleは直列化された形式の一部として転送されないが、リソース・バンドル名は転送され、受け側のオブジェクトのreadObjectメソッドは適切なリソース・バンドルを検出しようとする
- 導入されたバージョン:
- 1.4
- 関連項目:
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明イベントが発生した瞬間を取得します。getLevel()
ログ・メッセージ・レベル、たとえばLevel.SEVEREを返します。ソースLoggerの名前を取得します。long
メッセージが発生したスレッドのスレッド識別子を取得ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを返します。long
1970年以降の切り捨てイベント時間をミリ秒単位で取得します。Object[]
ログ・メッセージにパラメータを返します。ローカリゼーション・リソース・バンドルを返します。ローカリゼーション・リソース・バンドルの名前を返します。long
シーケンス番号を返します。ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。int
非推奨。ログ・レコードに関連したThrowableを返します。void
setInstant
(Instant instant) イベントが発生した瞬間を設定します。void
ログ・メッセージのレベル、たとえばLevel.SEVEREを設定します。void
setLoggerName
(String name) ソースLoggerの名前を設定します。setLongThreadID
(long longThreadID) メッセージの発生元のスレッドの識別子を設定します。void
setMessage
(String message) ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを設定します。void
setMillis
(long millis) 非推奨。LogRecordは、Instant
値を使用して、ナノ秒の分解能でタイムスタンプを維持します。void
setParameters
(Object[] parameters) ログ・メッセージにパラメータを設定します。void
setResourceBundle
(ResourceBundle bundle) ローカリゼーション・リソース・バンドルを設定します。void
setResourceBundleName
(String name) ローカリゼーション・リソース・バンドルの名前を設定します。void
setSequenceNumber
(long seq) シーケンス番号を設定します。void
setSourceClassName
(String sourceClassName) ロギングの要求を発行したか、発行したと見なされるクラスの名前を設定します。void
setSourceMethodName
(String sourceMethodName) ロギングの要求を発行したか、発行したと見なされるメソッドの名前を設定します。void
setThreadID
(int threadID) 非推奨。このメソッドでは長い「スレッドID」を渡すことはできません。かわりにsetLongThreadID(long)
を使用してください。void
ログ・イベントに関連したThrowableを設定します。
-
コンストラクタの詳細
-
LogRecord
指定されたレベルとメッセージの値を持つLogRecordを構築します。sequenceプロパティは新しい一意の値で初期化されます。 これらの連番値は、VM内で昇順に割り当てられます。
JDK 9以降、イベント時間は
Instant
で表されます。 インスタント・プロパティは、システムで使用可能な最適なclockを使用して「現在の瞬間」に初期化されます。スレッドIDプロパティは現在のスレッドに対する一意のIDで初期化されます。
その他すべてのプロパティはnullに初期化されます。
- パラメータ:
level
- ログ・レベルの値msg
- ローカライズされていないrawログ・メッセージ(nullも可能)- 関連項目:
-
-
メソッドの詳細
-
getLoggerName
-
setLoggerName
-
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
-
setLevel
-
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
-
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
-
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も可能)
-
getLongThreadID()
を使用してください。