java.lang.Object java.util.logging.LogRecord
public class LogRecord
LogRecord 对象用于在日志框架和单个日志 Handler 之间传递日志请求。
将 LogRecord 传递到日志框架中后,它在逻辑上已经属于该框架,客户端应用程序不应再使用或更新它。
注意,如果客户端应用程序尚未显式指定源方法名和源类名,则 LogRecord 类将在第一次访问它们时通过解析调用堆栈来自动推导(根据对 getSourceMethodName 或 getSourceClassName 的调用)。因此,如果日志 Handler 要将 LogRecord 传递给另一个线程或者通过 RMI 传输它,并且如果它希望后续获取方法名或类名信息,则其应该调用 getSourceClassName 和 getSourceMethodName 的其中之一来强制将值填入。
序列化注意事项:
构造方法摘要 | |
---|---|
LogRecord(Level level, String msg) 用给定级别和消息值构造 LogRecord。 |
方法摘要 | |
---|---|
Level |
getLevel() 获取日志消息级别,例如 Level.SEVERE。 |
String |
getLoggerName() 获取源 Logger 名称 |
String |
getMessage() 获取本地化或格式化之前的“原始”日志消息。 |
long |
getMillis() 获取自从 1970 年以毫秒为单位的事件时间。 |
Object[] |
getParameters() 获取日志消息的参数。 |
ResourceBundle |
getResourceBundle() 获取本地化资源包。 |
String |
getResourceBundleName() 获取本地化资源包名称。 |
long |
getSequenceNumber() 获取序列号。 |
String |
getSourceClassName() 获取发出日志请求的类的名称。 |
String |
getSourceMethodName() 获取(可能)发出日志请求的方法的名称。 |
int |
getThreadID() 获取产生消息的线程的标识符。 |
Throwable |
getThrown() 获取与日志记录相关联的所有 throwable。 |
void |
setLevel(Level level) 设置日志消息级别,例如 Level.SEVERE。 |
void |
setLoggerName(String name) 设置源 Logger 名称。 |
void |
setMessage(String message) 设置本地化或格式化之前的“原始”日志消息。 |
void |
setMillis(long millis) 设置事件时间。 |
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) 设置产生消息的线程的标识符。 |
void |
setThrown(Throwable thrown) 设置与日志事件相关联的 throwable。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public LogRecord(Level level, String msg)
使用新的唯一值初始化序列属性。这些序列值在 VM 中以升序进行分配。
将该 millis 属性初始化为当前时间。
使用当前线程的唯一 ID 初始化该线程的 ID 属性。
将所有其他属性初始化为 "null"。
level
- 日志级别值
msg
- 原始的非本地化日志消息(可以为 null)
方法详细信息 |
---|
public String getLoggerName()
public void setLoggerName(String name)
name
- 源 logger 名称(可以为 null)
public ResourceBundle getResourceBundle()
这是用于本地化消息字符串(格式化前)的 ResourceBundle。如果消息是不可本地化的或者没有合适的 ResourceBundle 可用,则结果可能为 null。
public void setResourceBundle(ResourceBundle bundle)
bundle
- 本地化包(可以为 null)
public String getResourceBundleName()
这是用于本地化消息字符串(格式化前)的 ResourceBundle 的名称。如果消息是不可本地化的,则结果可能为 null。
public void setResourceBundleName(String name)
name
- 本地化包名称(可以为 null)
public Level getLevel()
public void setLevel(Level level)
level
- 日志消息级别
public long getSequenceNumber()
序列号通常是在 LogRecord 构造方法中分配的,该构造方法按升序为每个新 LogRecord 分配一个唯一的序列号。
public void setSequenceNumber(long seq)
序列号通常是在 LogRecord 构造方法中分配的,所以一般不必使用这一方法。
public String getSourceClassName()
注意,此 sourceClassName 未经过验证,可能是欺骗的。此信息可以作为日志调用的一部分提供,也可以通过日志框架自动推导。在后一种情况下,信息可能只是近似的,实际上可能描述的是堆栈帧上的较早调用。
如果未能获取任何信息,则返回 null。
public void setSourceClassName(String sourceClassName)
sourceClassName
- 源类名(可以为 null)
public String getSourceMethodName()
注意,此 sourceMethodName 未经过验证,可能是欺骗的。此信息可以作为日志调用的一部分提供,也可以通过日志框架自动推导。在后一种情况下,信息可能只是近似的,实际上可能描述的是堆栈帧上的较早调用。
如果未能获取任何信息,则返回 null。
public void setSourceMethodName(String sourceMethodName)
sourceMethodName
- 源方法名(可以为 null)
public String getMessage()
可能为 null,该值等效于空字符串 ""。
此消息可能是最终文本或本地化键。
在格式化期间,如果源 logger 具有本地化 ResourceBundle 并且该 ResourceBundle 具有此消息字符串的条目,则使用本地化值替换该消息字符串。
public void setMessage(String message)
message
- 原始消息字符串(可以为 null)
public Object[] getParameters()
public void setParameters(Object[] parameters)
parameters
- 日志消息参数。(可以为 null)
public int getThreadID()
它是 Java VM 中的线程标识符,可能映射也可能不映射到任何操作系统 ID 中。
public void setThreadID(int threadID)
threadID
- 线程 ID
public long getMillis()
public void setMillis(long millis)
自从
- 1970 年以 millis 为单位的事件时间
public Throwable getThrown()
如果涉及异常,则此为异常对象。否则为 null。
public void setThrown(Throwable thrown)
thrown
- throwable(可以为 null)