Spec-Zone.ru › OpenJDK 24

Класс LogRecord

java.lang.Object
java.util.logging.LogRecord
Все реализованные интерфейсы:
Serializable
public class LogRecord extends Object implements Serializable
Объекты LogRecord используются для передачи запросов журналирования между фреймворком журналирования и отдельными обработчиками журнала.

Когда объект LogRecord передается в фреймворк журналирования, он логически принадлежит фреймворку и больше не должен использоваться или обновляться клиентским приложением.

Обратите внимание, что если клиентское приложение не указало явное имя метода источника и имя класса источника, то класс LogRecord автоматически определит их при первом обращении (из-за вызова getSourceMethodName или getSourceClassName), проанализировав стек вызовов. Поэтому, если обработчик журналирования хочет передать LogRecord в другую нить или передать его через RMI, и если он хочет получить информацию об имени метода или имени класса позже, он должен вызвать один из методов getSourceClassName или getSourceMethodName, чтобы заполнить эти значения.

Примечания по сериализации:

  • Класс LogRecord сериализуем.
  • Поскольку объекты в массиве параметров могут не быть сериализуемыми, во время сериализации все объекты в массиве параметров записываются как соответствующие строки (используя Object.toString).
  • Объект ResourceBundle не передается в качестве части сериализованной формы, но имя ресурсного пула передаётся, и метод readObject объекта-получателя попытается найти подходящий ресурсный пул.
С момента:
1.4
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
LogRecord(Level level, String msg)
Создает LogRecord с заданными значениями уровня и сообщения.

Краткое описание методов

Модификатор и тип Метод Описание
Instant getInstant()
Возвращает момент, когда произошло событие.
Level getLevel()
Возвращает уровень сообщения журналирования, например, Level.SEVERE.
String getLoggerName()
Возвращает имя источника Logger.
long getLongThreadID()
Возвращает идентификатор потока для потока, из которого исходит сообщение.
String getMessage()
Возвращает "сырое" сообщение журнала до локализации или форматирования.
long getMillis()
Возвращает усеченное время события в миллисекундах с 1970 года.
Object[] getParameters()
Возвращает параметры сообщения журнала.
ResourceBundle getResourceBundle()
Возвращает пул ресурсов локализации
String getResourceBundleName()
Возвращает имя пула ресурсов локализации
long getSequenceNumber()
Возвращает порядковый номер.
String getSourceClassName()
Возвращает имя класса, который (предположительно) выпустил запрос журналирования.
String getSourceMethodName()
Возвращает имя метода, который (предположительно) выпустил запрос журналирования.
int getThreadID()
Устарело.
Значения, возвращаемые этим методом, могут быть сгенерированы и могут не соответствовать фактическому идентификатору потока, используйте getLongThreadID() вместо этого.
Throwable getThrown()
Возвращает любое исключение, связанное с записью журнала.
void setInstant(Instant instant)
Устанавливает момент, когда произошло событие.
void setLevel(Level level)
Устанавливает уровень сообщения журналирования, например, Level.SEVERE.
void setLoggerName(String name)
Устанавливает имя источника Logger.
LogRecord 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)
Устарело.
Этот метод не позволяет передавать длинный идентификатор потока, используйте setLongThreadID(long) вместо этого.
void setThrown(Throwable thrown)
Устанавливает исключение, связанное с событием журнала.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

LogRecord

public LogRecord(Level level, String msg)
Создаёт LogRecord с заданным уровнем и сообщением.

Свойство sequence будет инициализировано новым уникальным значением. Эти значения sequence распределяются в возрастающем порядке внутри виртуальной машины.

Начиная с JDK 9, время события представлено с помощью Instant. Свойство instant будет инициализировано текущим значением момента времени, используя лучший доступный Clock.systemUTC() системы.

Идентификатор потока будет инициализирован уникальным идентификатором текущего потока.

Все остальные свойства будут инициализированы значением "null".

Параметры:
level - значение уровня ведения журнала
msg - исходное сообщение для ведения журнала без локализации (может быть null)
См. также:
  • Clock.systemUTC()

Подробное описание методов

getLoggerName

public String getLoggerName()
Получить имя источника Logger.
Возвращает:
имя источника логгера (может быть null)

setLoggerName

public void setLoggerName(String name)
Установить имя источника Logger.
Параметры:
name - имя источника логгера (может быть null)

getResourceBundle

public ResourceBundle getResourceBundle()
Получить локализационный ресурсный пакет.

Это ResourceBundle, который должен использоваться для локализации строки сообщения перед её форматированием. Результат может быть null, если сообщение не подлежит локализации или если подходящий ResourceBundle недоступен.

Возвращает:
локализационный ресурсный пакет

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 - исходная строка сообщения (может быть null)

getParameters

public Object[] getParameters()
Получить параметры сообщения журнала.
Возвращает:
параметры сообщения журнала. Может быть null, если параметров нет.

setParameters

public void setParameters(Object[] parameters)
Установить параметры сообщения журнала.
Параметры:
parameters - параметры сообщения журнала. (могут быть null)

getThreadID

@Deprecated(since="16") public int getThreadID()
Устарело.
Возвращаемые значения этого метода могут быть синтезированными и не соответствовать фактическому thread id. Используйте getLongThreadID() вместо этого.
Получить идентификатор потока, из которого исходило сообщение.

Это идентификатор потока внутри виртуальной машины Java и может или не может соответствовать идентификатору операционной системы.

Возвращает:
идентификатор потока

setThreadID

@Deprecated(since="16") public void setThreadID(int threadID)
Устарело.
Этот метод не позволяет передать long thread id. Используйте setLongThreadID(long) вместо этого.
Установить идентификатор потока, из которого исходило сообщение.
Параметры:
threadID - идентификатор потока

getLongThreadID

public long getLongThreadID()
Получить идентификатор потока, из которого исходило сообщение.

Это идентификатор потока внутри виртуальной машины Java и может или не может соответствовать идентификатору операционной системы.

Возвращает:
идентификатор потока
С:
16

setLongThreadID

public LogRecord setLongThreadID(long longThreadID)
Установить идентификатор потока, из которого исходило сообщение.
Параметры:
longThreadID - идентификатор потока
Возвращает:
этот LogRecord
С:
16

getMillis

public long getMillis()
Получить усечённое время события в миллисекундах с 1970 года.
Примечание API:
Чтобы получить полное время события с разрешением в наносекунды, используйте getInstant().
Требования к реализации:
Это эквивалентно вызову getInstant().toEpochMilli().
Возвращает:
усечённое время события в миллисекундах с 1970 года
См. также:
  • getInstant()

setMillis

@Deprecated public void setMillis(long millis)
Устарело.
LogRecord поддерживает отметки времени с разрешением в наносекунды, используя значения Instant. По этой причине, следует использовать setInstant() вместо setMillis().
Установить время события.
Требования к реализации:
Это эквивалентно вызову 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 - объект Throwable (может быть null)

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.logging/java/util/logging/LogRecord.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API