java.util.logging
类 LogRecord

java.lang.Object
  继承者 java.util.logging.LogRecord
所有已实现的接口:
Serializable

public class LogRecord
   
   
   
extends Object
implements Serializable

LogRecord 对象用于在日志框架和单个日志 Handler 之间传递日志请求。

将 LogRecord 传递到日志框架中后,它在逻辑上已经属于该框架,客户端应用程序不应再使用或更新它。

注意,如果客户端应用程序尚未显式指定源方法名和源类名,则 LogRecord 类将在第一次访问它们时通过解析调用堆栈来自动推导(根据对 getSourceMethodName 或 getSourceClassName 的调用)。因此,如果日志 Handler 要将 LogRecord 传递给另一个线程或者通过 RMI 传输它,并且如果它希望后续获取方法名或类名信息,则其应该调用 getSourceClassName 和 getSourceMethodName 的其中之一来强制将值填入。

序列化注意事项:

  • LogRecord 类是可序列化的。
  • 因为参数数组中的对象可能不可序列化,所以在序列化过程中,应该写入参数数组中所有对象的相应 String(使用 Object.toString)。
  • ResourceBundle 不是作为序列化形式的一部分传输的,但是资源包的名称是,而接收对象的 readObject 方法将尝试查找合适的资源包。

从以下版本开始:
1.4
另请参见:
序列化表格

构造方法摘要
LogRecord(Level level, String msg)
          用给定级别和消息值构造 LogRecord。
 
方法摘要
 LevelgetLevel()
          获取日志消息级别,例如 Level.SEVERE。
 StringgetLoggerName()
          获取源 Logger 名称
 StringgetMessage()
          获取本地化或格式化之前的“原始”日志消息。
 longgetMillis()
          获取自从 1970 年以毫秒为单位的事件时间。
 Object[]getParameters()
          获取日志消息的参数。
 ResourceBundlegetResourceBundle()
          获取本地化资源包。
 StringgetResourceBundleName()
          获取本地化资源包名称。
 longgetSequenceNumber()
          获取序列号。
 StringgetSourceClassName()
          获取发出日志请求的类的名称。
 StringgetSourceMethodName()
          获取(可能)发出日志请求的方法的名称。
 intgetThreadID()
          获取产生消息的线程的标识符。
 ThrowablegetThrown()
          获取与日志记录相关联的所有 throwable。
 voidsetLevel(Level level)
          设置日志消息级别,例如 Level.SEVERE。
 voidsetLoggerName(String name)
          设置源 Logger 名称。
 voidsetMessage(String message)
          设置本地化或格式化之前的“原始”日志消息。
 voidsetMillis(long millis)
          设置事件时间。
 voidsetParameters(Object[] parameters)
          设置日志消息的参数。
 voidsetResourceBundle(ResourceBundle bundle)
          设置本地化资源包。
 voidsetResourceBundleName(String name)
          设置本地化资源包名称。
 voidsetSequenceNumber(long seq)
          设置序列号。
 voidsetSourceClassName(String sourceClassName)
          设置(可能)发出日志请求的类的名称。
 voidsetSourceMethodName(String sourceMethodName)
          设置(可能)发出日志请求的方法的名称。
 voidsetThreadID(int threadID)
          设置产生消息的线程的标识符。
 voidsetThrown(Throwable thrown)
          设置与日志事件相关联的 throwable。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

LogRecord

public LogRecord(Level level,
                 String msg)
用给定级别和消息值构造 LogRecord。

使用新的唯一值初始化序列属性。这些序列值在 VM 中以升序进行分配。

将该 millis 属性初始化为当前时间。

使用当前线程的唯一 ID 初始化该线程的 ID 属性。

将所有其他属性初始化为 "null"。

参数:
level - 日志级别值
msg - 原始的非本地化日志消息(可以为 null)
方法详细信息

getLoggerName

public String getLoggerName()
获取源 Logger 名称

返回:
源 logger 名称(可以为 null)

setLoggerName

public void setLoggerName(String name)
设置源 Logger 名称。

参数:
name - 源 logger 名称(可以为 null)

getResourceBundle

public ResourceBundle getResourceBundle()
获取本地化资源包。

这是用于本地化消息字符串(格式化前)的 ResourceBundle。如果消息是不可本地化的或者没有合适的 ResourceBundle 可用,则结果可能为 null。


setResourceBundle

public void setResourceBundle(ResourceBundle bundle)
设置本地化资源包。

参数:
bundle - 本地化包(可以为 null)

getResourceBundleName

public String getResourceBundleName()
获取本地化资源包名称。

这是用于本地化消息字符串(格式化前)的 ResourceBundle 的名称。如果消息是不可本地化的,则结果可能为 null。


setResourceBundleName

public void setResourceBundleName(String name)
设置本地化资源包名称。

参数:
name - 本地化包名称(可以为 null)