Класс 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.

String getMessage()

Получает "сырое" сообщение журнала до локализации или форматирования.

long getMillis()

Получает усеченное время события в миллисекундах с 1970 года.

Object[] getParameters()

Получает параметры сообщения журнала.

ResourceBundle getResourceBundle()

Получает ресурсный пакет локализации.

String getResourceBundleName()

Получает имя ресурсного пакета локализации.

long getSequenceNumber()

Получает номер последовательности.

String getSourceClassName()

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

String getSourceMethodName()

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

int getThreadID()

Получает идентификатор потока, в котором возникло сообщение.

Throwable getThrown()

Получает исключение, связанное с записью журнала.

void setInstant​(Instant instant)

Устанавливает момент времени события.

void setLevel​(Level level)

Устанавливает уровень сообщения журналирования, например, Level.SEVERE.

void setLoggerName​(String name)

Устанавливает имя источника Logger.

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)

Устанавливает идентификатор потока, в котором возникло сообщение.

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 с заданным уровнем и сообщением.

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

Начиная с JDK 9, время события представлено в формате Instant. Свойство 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()

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

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

Может быть 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 и в нём есть запись для этой строки сообщения, то строка сообщения заменяется локализованным значением.

Возвращает:
исходная строка сообщения

setMessage

public void setMessage(String message)

Установить «исходное» сообщение лога до локализации или форматирования.

Параметры:
message - исходная строка сообщения (может быть null)

getParameters

public Object[] getParameters()

Получить параметры сообщения лога.

Возвращает:
параметры сообщения лога. Может быть null, если параметров нет.

setParameters

public void setParameters(Object[] parameters)

Установить параметры сообщения лога.

Параметры:
parameters - параметры сообщения лога (может быть null)

getThreadID

public int getThreadID()

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

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

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

setThreadID

public void setThreadID(int threadID)

Установить идентификатор потока, в котором возникло сообщение.

Параметры:
threadID - идентификатор потока

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, 2020, 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/11/docs/api/java.logging/java/util/logging/LogRecord.html

Spec-Zone .ru
спецификации, руководства, описания, API