Spec-Zone.ru › OpenJDK 21

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

Начиная с 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()
Получить номер последовательности.

Номера последовательности обычно присваиваются в конструкторе 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)

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

Spec-Zone.ru

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