Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Будит один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Будит все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени.

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

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, 2026, 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.

Spec-Zone.ru

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