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