Класс 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 |
Устанавливает исключение, связанное с событием журнала. |
Подробное описание конструкторов
LogRecord
public LogRecord(Level level, String msg)
Свойство sequence будет инициализировано новым уникальным значением. Эти значения sequence распределяются в возрастающем порядке внутри виртуальной машины.
Начиная с JDK 9, время события представлено с помощью Instant. Свойство instant будет инициализировано текущим значением момента времени, используя лучший доступный Clock.systemUTC() системы.
Идентификатор потока будет инициализирован уникальным идентификатором текущего потока.
Все остальные свойства будут инициализированы значением "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.
- Возвращает:
- объект Throwable
setThrown
public void setThrown(Throwable thrown)
- Параметры:
-
thrown- объект Throwable (может быть 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.logging/java/util/logging/LogRecord.html
getLongThreadID()вместо этого.