Класс LogRecord
- Все реализуемые интерфейсы:
Serializable
public class LogRecord extends Object implements Serializable
Когда LogRecord передаётся платформе ведения журнала, он логически становится собственностью платформы, и клиентское приложение больше не должно использовать или изменять его.
Обратите внимание: если клиентское приложение явно не указало имя исходного метода и имя исходного класса, класс LogRecord определит их автоматически при первом обращении к ним (вызове getSourceMethodName или getSourceClassName), анализируя стек вызовов. Поэтому, если обработчик журнала собирается передать LogRecord другому потоку или передать его по RMI и впоследствии получить сведения об имени метода или класса, ему следует вызвать один из методов getSourceClassName или getSourceMethodName, чтобы принудительно заполнить эти значения.
Примечания по сериализации:
- Класс LogRecord сериализуем.
- Поскольку объекты в массиве параметров могут быть несериализуемыми, при сериализации все объекты в массиве параметров записываются как соответствующие строки (с помощью Object.toString).
- ResourceBundle не передаётся в сериализованной форме, однако передаётся имя пакета ресурсов, и метод readObject объекта-получателя попытается найти подходящий пакет ресурсов.
- Начиная с версии:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
LogRecord |
Создаёт 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() |
Устарело. |
Throwable |
getThrown() |
Возвращает исключение, связанное с записью журнала, если оно есть. |
void |
setInstant |
Задаёт момент времени, когда произошло событие. |
void |
setLevel |
Задаёт уровень сообщения журнала, например Level.SEVERE. |
void |
setLoggerName |
Задаёт имя исходного регистратора Logger. |
LogRecord |
setLongThreadID |
Задаёт идентификатор потока, в котором возникло сообщение. |
void |
setMessage |
Задаёт «необработанное» сообщение журнала до локализации или форматирования. |
void |
setMillis |
Устарело. LogRecord хранит временные метки с наносекундной точностью, используя значения Instant. |
void |
setParameters |
Задаёт параметры сообщения журнала. |
void |
setResourceBundle |
Задаёт пакет ресурсов локализации. |
void |
setResourceBundleName |
Задаёт имя пакета ресурсов локализации. |
void |
setSequenceNumber |
Задаёт порядковый номер. |
void |
setSourceClassName |
Задаёт имя класса, который (предположительно) отправил запрос на ведение журнала. |
void |
setSourceMethodName |
Задаёт имя метода, который (предположительно) отправил запрос на ведение журнала. |
void |
setThreadID |
Устарело. Этот метод не позволяет передать длинный идентификатор потока; вместо него используйте setLongThreadID(long). |
void |
setThrown |
Задаёт исключение, связанное с событием журнала. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
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 |
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени. |
Подробное описание конструкторов
LogRecord
public LogRecord(Level level, String msg)
Свойству последовательности будет присвоено новое уникальное значение. В пределах одной виртуальной машины эти значения выделяются в возрастающем порядке.
Начиная с JDK 9, время события представляется объектом Instant. Свойству момента времени будет присвоен текущий момент времени с использованием наиболее точных доступных на системе часов.
Свойству идентификатора потока будет присвоен уникальный идентификатор текущего потока.
Все остальные свойства будут инициализированы значением «null».
- Параметры:
-
level— значение уровня ведения журнала -
msg— исходное нелокализованное сообщение журнала (может быть null) - См. также:
Подробное описание методов
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()
- Возвращает:
- уровень сообщения журнала
setLevel
public void setLevel(Level level)
- Параметры:
-
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()
- Примечание API:
- Чтобы получить время события с полной наносекундной точностью, используйте
getInstant(). - Требования к реализации:
- Эквивалентно вызову
getInstant().toEpochMilli(). - Возвращает:
- усечённое время события в миллисекундах с 1970 года
- См. также:
setMillis
@Deprecated public void setMillis(long millis)
Instant. По этой причине предпочтительно использовать setInstant(), а не setMillis().- Требования к реализации:
- Эквивалентно вызову
setInstant(Instant.ofEpochMilli(millis)). - Параметры:
-
millis— время события в миллисекундах с 1970 года. - См. также:
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, 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.
getLongThreadID().