Класс 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() |
Получает имя логгера источника. |
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 |
Устанавливает имя логгера источника. |
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 будет инициализировано новым уникальным значением. Эти значения последовательности распределяются в порядке возрастания внутри виртуальной машины.
Начиная с JDK 9, время события представлено объектом Instant. Свойство 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()
- Возвращает:
- порядковый номер
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)
setLongThreadID(long) вместо этого.- Параметры:
-
threadID- идентификатор потока
getLongThreadID
public long getLongThreadID()
Это идентификатор потока внутри Java VM и может или не может соответствовать какому-либо идентификатору операционной системы.
- Возвращает:
- идентификатор потока
- С:
- 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, 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
getLongThreadID()вместо этого.