- すべての実装されたインタフェース:
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
- 関連項目:
- 直列化された形式
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型 メソッド 説明 Instant
getInstant()
イベントが発生した瞬間を取得します。Level
getLevel()
ログ・メッセージ・レベル、たとえばLevel.SEVEREを返します。String
getLoggerName()
ソースLoggerの名前を取得します。String
getMessage()
ローカライズまたはフォーマット処理の前に、未変換のログ・メッセージを返します。long
getMillis()
1970年以降の切り捨てイベント時間をミリ秒単位で取得します。Object[]
getParameters()
ログ・メッセージにパラメータを返します。ResourceBundle
getResourceBundle()
ローカリゼーション・リソース・バンドルを返します。String
getResourceBundleName()
ローカリゼーション・リソース・バンドルの名前を返します。long
getSequenceNumber()
シーケンス番号を返します。String
getSourceClassName()
ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。String
getSourceMethodName()
ロギングの要求を発行したか、発行したと見なされるクラスの名前を返します。int
getThreadID()
メッセージの発生元のスレッドの識別子を返します。Throwable
getThrown()
ログ・レコードに関連したThrowableを返します。void
setInstant(Instant instant)
イベントが発生した瞬間を設定します。void
setLevel(Level level)
ログ・メッセージのレベル、たとえばLevel.SEVEREを設定します。void
setLoggerName(String name)
ソースLoggerの名前を設定します。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)
メッセージの発生元のスレッドの識別子を設定します。void
setThrown(Throwable thrown)
ログ・イベントに関連したThrowableを設定します。
-
コンストラクタの詳細
-
LogRecord
指定されたレベルとメッセージの値を持つLogRecordを構築します。sequenceプロパティは新しい一意の値で初期化されます。 これらの連番値は、VM内で昇順に割り当てられます。
JDK 9以降、イベント時間は
Instant
で表されます。 インスタント・プロパティは、システム上で最も利用可能なclockを使用して、「現在の瞬間」に初期化されます。スレッドIDプロパティは現在のスレッドに対する一意のIDで初期化されます。
その他すべてのプロパティはnullに初期化されます。
- パラメータ:
level
- ログ・レベルの値msg
- ローカライズされていないrawログ・メッセージ(nullも可能)- 関連項目:
Clock.systemUTC()
-
-
メソッドの詳細
-
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
public int getThreadID()メッセージの発生元のスレッドの識別子を返します。これはJava VM内のスレッド識別子であり、任意のオペレーティング・システム識別子にマッピングされる場合とされない場合があります。
- 戻り値:
- スレッドID
-
setThreadID
public void setThreadID(int threadID)メッセージの発生元のスレッドの識別子を設定します。- パラメータ:
threadID
- スレッドのID
-
getMillis
public long getMillis()1970年以降の切り捨てイベント時間をミリ秒単位で取得します。- APIの注:
- 完全なナノ秒分解能イベント時間を得るには、
getInstant()
を使用します。 - 実装要件:
- これは
getInstant().toEpochMilli()
を呼び出すのと同じです。 - 戻り値:
- 1970年以降の切り捨てイベント時間(ミリ秒単位)
- 関連項目:
getInstant()
-
setMillis
@Deprecatedpublic void setMillis(long millis)非推奨。LogRecordは、Instant
値を使用して、ナノ秒の分解能でタイムスタンプを維持します。 このため、setMillis()
に優先してsetInstant()
を使用する必要があります。イベントの時間を設定します。- 実装要件:
- これは
setInstant(Instant.ofEpochMilli(millis))
を呼び出すのと同じです。 - パラメータ:
millis
- 1970年以降のイベントの時間(ミリ秒単位)- 関連項目:
setInstant(java.time.Instant)
-
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も可能)
-