Spec-Zone.ru › OpenJDK 17

Класс 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()
Получает имя логгера источника.
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)
Устанавливает имя логгера источника.
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 будет инициализировано новым уникальным значением. Эти значения последовательности распределяются в порядке возрастания внутри виртуальной машины.

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

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

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

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

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

getLoggerName

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

setLoggerName

public void setLoggerName(String name)
Установить имя источника логгера.
Параметры:
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()
Получить порядковый номер.
Возвращает:
порядковый номер

setSequenceNumber

public void setSequenceNumber(long seq)
Установить порядковый номер.

Порядковые номера обычно присваиваются в конструкторе LogRecord, который присваивает уникальные порядковые номера каждому новому LogRecord в порядке возрастания.

Параметры:
seq - порядковый номер

getSourceClassName

public String getSourceClassName()
Получить имя класса, который, предположительно, выдал запрос ведения журнала.

Обратите внимание, что это имя класса источника не проверяется и может быть поддельным. Эта информация может быть предоставлена в ходе вызова ведения журнала или получена автоматически системой ведения журнала. В последнем случае информация может быть приблизительной и фактически описывать более ранний вызов в стеке вызовов.

Может быть null, если информация недоступна.

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

setSourceClassName

public void setSourceClassName(String sourceClassName)
Установить имя класса, который, предположительно, выдал запрос ведения журнала.
Параметры:
sourceClassName - имя класса источника (может быть null)

getSourceMethodName

public String getSourceMethodName()
Получить имя метода, который, предположительно, выдал запрос ведения журнала.

Обратите внимание, что это имя метода источника не проверяется и может быть поддельным. Эта информация может быть предоставлена в ходе вызова ведения журнала или получена автоматически системой ведения журнала. В последнем случае информация может быть приблизительной и фактически описывать более ранний вызов в стеке вызовов.

Может быть 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 VM и может или не может соответствовать какому-либо идентификатору операционной системы.

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

setThreadID

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

getLongThreadID

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

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

Возвращает:
идентификатор потока
С:
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)

© 1993, 2021, 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/17/docs/api/java.logging/java/util/logging/LogRecord.html

Spec-Zone.ru

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