- 所有已实现的接口:
-
Serializable
当LogRecord被传递到日志框架中时,它在逻辑上属于框架,不应再被客户端应用程序使用或更新。
请注意,如果客户端应用程序未指定显式的源方法名称和源类名称,则当它们首次被访问时(通过调用getSourceMethodName或getSourceClassName)时,LogRecord类将通过分析调用堆栈自动推断它们。因此,如果日志处理程序想要将LogRecord传递给另一个线程,或通过RMI传输它,并且希望随后获取方法名称或类名称信息,应调用getSourceClassName或getSourceMethodName中的一个以强制填充值。
序列化注意事项:
- LogRecord类是可序列化的。
- 由于参数数组中的对象可能不可序列化,在序列化期间,参数数组中的所有对象都将被写入相应的字符串(使用Object.toString)。
- ResourceBundle不作为序列化形式的一部分传输,但资源包名称会传输,接收对象的readObject方法将尝试查找合适的资源包。
- 自从:
- 1.4
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription获取事件发生的时间点。getLevel()
获取日志消息级别,例如Level.SEVERE。获取源Logger的名称。long
获取消息来源线程的标识符。获取“原始”日志消息,在本地化或格式化之前。long
获取自1970年以来以毫秒为单位的截断事件时间。Object[]
获取日志消息的参数。获取本地化资源包。获取本地化资源包名称。long
获取序列号。获取(据称)发出日志请求的类的名称。获取(据称)发出日志请求的方法的名称。int
已弃用。获取与日志记录关联的任何可抛出对象。void
setInstant
(Instant instant) 设置事件发生的时间点。void
设置日志消息级别,例如Level.SEVERE。void
setLoggerName
(String name) 设置源Logger的名称。setLongThreadID
(long longThreadID) 设置消息来源线程的标识符。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) 已弃用。该方法不允许传递长的线程ID,请改用setLongThreadID(long)
。void
设置与日志事件关联的可抛出对象。
-
Constructor Details
-
Method Details
-
getLoggerName
获取源Logger的名称。- 返回:
- 源Logger名称(可能为null)
-
setLoggerName
设置源Logger的名称。- 参数:
-
name
- 源Logger名称(可能为null)
-
getResourceBundle
获取本地化资源包这是在格式化消息字符串之前应使用的ResourceBundle。如果消息不可本地化,或者没有合适的ResourceBundle可用,则结果可能为null。
- 返回:
- 本地化资源包
-
setResourceBundle
设置本地化资源包。- 参数:
-
bundle
- 本地化包(可能为null)
-
getResourceBundleName
获取本地化资源包名称这是在格式化消息字符串之前应使用的ResourceBundle的名称。如果消息不可本地化,则结果可能为null。
- 返回:
- 本地化资源包名称
-
setResourceBundleName
设置本地化资源包名称。- 参数:
-
name
- 本地化包名称(可能为null)
-
getLevel
获取日志消息级别,例如Level.SEVERE。- 返回:
- 日志消息级别
-
setLevel
设置日志消息级别,例如Level.SEVERE。- 参数:
-
level
- 日志消息级别
-
getSequenceNumber
public long getSequenceNumber()获取序列号序列号通常在LogRecord构造函数中分配,为每个新的LogRecord按递增顺序分配唯一的序列号。
- 返回:
- 序列号
-
setSequenceNumber
public void setSequenceNumber(long seq) 设置序列号序列号通常在LogRecord构造函数中分配,因此通常不需要使用此方法。
- 参数:
-
seq
- 序列号
-
getSourceClassName
获取(据称)发出日志请求的类的名称。请注意,此sourceClassName未经验证,可能被篡改。此信息可能已作为日志调用的一部分提供,或者可能已由日志框架自动推断。在后一种情况下,信息可能仅是近似的,实际上可能描述堆栈帧上的早期调用。
如果无法获取信息,则可能为null。
- 返回:
- 源类名
-
setSourceClassName
设置(据称)发出日志请求的类的名称。- 参数:
-
sourceClassName
- 源类名(可能为null)
-
getSourceMethodName
获取(据称)发出日志请求的方法的名称。请注意,此sourceMethodName未经验证,可能被篡改。此信息可能已作为日志调用的一部分提供,或者可能已由日志框架自动推断。在后一种情况下,信息可能仅是近似的,实际上可能描述堆栈帧上的早期调用。
如果无法获取信息,则可能为null。
- 返回:
- 源方法名
-
setSourceMethodName
设置(据称)发出日志请求的方法的名称。- 参数:
-
sourceMethodName
- 源方法名(可能为null)
-
getMessage
获取“原始”日志消息,在本地化或格式化之前。可能为null,相当于空字符串""。
此消息可以是最终文本或本地化键。
在格式化期间,如果源Logger具有本地化ResourceBundle,并且该ResourceBundle具有此消息字符串的条目,则消息字符串将替换为本地化值。
- 返回:
- 原始消息字符串
-
setMessage
设置“原始”日志消息,在本地化或格式化之前。- 参数:
-
message
- 原始消息字符串(可能为null)
-
getParameters
获取日志消息的参数。- 返回:
- 日志消息参数。如果没有参数,则可能为null。
-
setParameters
设置日志消息的参数。- 参数:
-
parameters
- 日志消息参数(可能为null)
-
getThreadID
Deprecated.Values returned by this method may be synthesized, and may not correspond to the actual thread id, usegetLongThreadID()
instead.获取消息来源线程的标识符。这是Java VM内的线程标识符,可能与任何操作系统ID相匹配,也可能不匹配。
- 返回:
- 线程ID
-
setThreadID
Deprecated.This method doesn't allow to pass a long thread id, usesetLongThreadID(long)
instead.设置消息来源线程的标识符。- 参数:
-
threadID
- 线程ID
-
getLongThreadID
public long getLongThreadID()获取消息来源线程的线程标识符这是Java虚拟机中的线程标识符,可能与任何操作系统ID映射或不映射。
- 返回:
- 线程ID
- 自:
- 16
-
setLongThreadID
设置消息来源线程的标识符。- 参数:
-
longThreadID
- 线程ID - 返回:
- 此LogRecord
- 自:
- 16
-
getMillis
public long getMillis()获取自1970年以来以毫秒为单位的截断事件时间。- API注释:
-
要获取完整的纳秒分辨率事件时间,请使用
getInstant()
。 - 实现要求:
-
这相当于调用
getInstant().toEpochMilli()
。 - 返回:
- 自1970年以来以毫秒为单位的截断事件时间
- 参见:
-
setMillis
Deprecated.LogRecord maintains timestamps with nanosecond resolution, usingInstant
values. For this reason,setInstant()
should be used in preference tosetMillis()
.设置事件时间。- 实现要求:
-
这相当于调用
setInstant(Instant.ofEpochMilli(millis))
。 - 参数:
-
millis
- 自1970年以来以毫秒为单位的事件时间。 - 参见:
-
getInstant
获取事件发生的时刻。- 返回:
- 事件发生的时刻。
- 自:
- 9
-
setInstant
设置事件发生的时刻。如果给定的
instant
表示时间线上太远的未来或过去,无法适应long
毫秒和纳秒调整,则会抛出ArithmeticException
。- 参数:
-
instant
- 事件发生的时刻。 - 抛出:
-
NullPointerException
- 如果instant
为null。 -
ArithmeticException
- 如果调用instant.toEpochMilli()
时会发生数值溢出。 - 自:
- 9
-
getThrown
获取与日志记录关联的任何可抛出对象。如果事件涉及异常,则这将是异常对象。否则为null。
- 返回:
- 一个可抛出对象
-
setThrown
设置与日志事件关联的可抛出对象。- 参数:
-
thrown
- 一个可抛出对象(可能为null)
-
getLongThreadID()
。