Java日志记录:LogRecord
LogRecord类将记录的消息包装到Logger中。我们可以将LogRecord直接记录到Logger中,也可以让Logger包装LogRecord中记录的内容。也就是说,在Logger上所有不采用LogRecord的日志记录方法都将传递给log方法的参数包装在LogRecord对象中。
一旦LogRecord传递给Logger或者由Logger内部产生,就可以传递给Filter(如果设置了过滤器),Handler和Logger。 op Logger层次结构。
LogRecord包含以下getter方法,可用于例如一个过滤器以确定是否应该记录LogRecord:
getLevel() getLoggerName() getMessage() getMillis() getParameters() getResourceBundle() getResourceBundleName() getSequenceNumber() getSourceClassName() getSourceMethodName() getThreadID() getThrown()
这些getter方法中的每个方法也都有相应的setter方法,但是除非我们自己创建LogRecord实例,否则将不需要setter方法。这是对getter方法的简要说明。
getLevel()方法返回记录此LogRecord表示的消息的日志级别。
getLoggerName()方法返回记录此LogRecord的Logger的名称。
getMessage()方法返回记录的消息。
getMillis()方法返回记录LogRecord的时间(以毫秒为单位)。
getParameters()方法返回要插入此LogRecord消息中的参数。
getResourceBundle()方法返回用来对LogRecord消息进行本地化的ResourceBundle(如果有的话)。如果不使用ResourceBundle
,则此方法返回null。
getResourceBundleName()方法返回用于本地化该LogRecord消息的ResourceBundle的名称(如果有)。如果没有使用ResourceBundle
,则返回null。
当创建LogRecord时,getSequenceNumber()方法返回在LogRecord构造函数内部生成的序列号。
getSourceClassName()返回记录该LogRecord表示的消息的类的类名。但是请记住,由于各种原因,此名称可能并不完全正确。有关更多详细信息,请参见JavaDoc。
getSourceMethodName()返回记录该LogRecord表示的消息的方法的方法名称。但是请记住,由于各种原因,此名称可能并不完全正确。有关更多详细信息,请参见JavaDoc。
getThreadID()方法返回记录此LogRecord表示的消息的线程的ID。
getThrown()方法返回记录该LogRecord表示的消息时标记为已抛出的Throwable。这个Throwable可以作为参数传递给Logger日志方法,也可以直接在LogRecord上设置,然后传递给Logger。该"可抛出"通常是导致记录日志消息的原因。