Spec-Zone.ru › OpenJDK 25

Класс 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)
Устанавливает исключение, связанное с событием журнала.

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

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

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

LogRecord

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

Свойству последовательности будет присвоено новое уникальное значение. В пределах виртуальной машины эти значения выделяются в порядке возрастания.

Начиная с JDK 9 время события представлено объектом Instant. Свойству момента времени будет присвоен текущий момент времени с использованием наиболее точных доступных в системе часов.

Свойству идентификатора потока будет присвоен уникальный идентификатор текущего потока.

Всем остальным свойствам будет присвоено значение "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()
Устарело.
Значения, возвращаемые этим методом, могут быть сформированы искусственно и не соответствовать фактическому идентификатору потока; вместо него используйте getLongThreadID().
Возвращает идентификатор потока, в котором возникло сообщение.

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

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

setThreadID

@Deprecated(since="16") public void setThreadID(int threadID)
Устарело.
Этот метод не позволяет передать длинный идентификатор потока; вместо него используйте 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()
Возвращает исключение, связанное с записью журнала, если оно есть.

Если событие связано с исключением, возвращается объект этого исключения. В противном случае возвращается null.

Возвращает:
исключение

setThrown

public void setThrown(Throwable thrown)
Устанавливает исключение, связанное с событием журнала.
Параметры:
thrown — исключение (может быть null)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.logging/java/util/logging/LogRecord.html

Spec-Zone.ru

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