public class Logger
extends Object
java.lang.Object | |
↳ | java.util.logging.Logger |
记录器对象用于记录特定系统或应用程序组件的消息。 记录器通常使用分层点分隔的命名空间命名。 记录器名称可以是任意字符串,但通常应该基于记录组件的包名称或类名称,例如java.net或javax.swing。 另外,可以创建未存储在记录器名称空间中的“匿名”记录器。
记录器对象可以通过调用其中一个getLogger工厂方法来获得。 这些将创建一个新的记录器或返回一个合适的现有记录器。 需要注意的是,如果没有保存对记录器的强烈引用,任何时候getLogger
工厂方法之一返回的记录器都可能被垃圾收集。
记录消息将被转发到注册的Handler对象,这些对象可以将消息转发到各种目的地,包括控制台,文件,操作系统日志等。
每个记录器都跟踪“父”记录器,它是Logger命名空间中最近的现有祖先。
每个记录器都有一个与其关联的“级别”。 这反映了该记录器关心的最低级别。 如果记录器的级别设置为null ,则其有效级别从其父级继承,而父级可以从其父级递归获取它,等等。
日志级别可以根据日志配置文件中的属性进行配置,如LogManager类的说明中所述。 但是它也可以通过调用Logger.setLevel方法动态更改。 如果记录器的级别发生更改,则更改也可能会影响子级记录器,因为任何级别为null的子级记录器都将从其父级继承其有效级别。
在每次记录调用时,记录器最初都会对记录器的有效日志级别执行请求级别的便宜检查(例如,SEVERE或FINE)。 如果请求级别低于日志级别,则日志记录调用立即返回。
通过这个初始(便宜)测试后,Logger将分配一个LogRecord来描述日志消息。 然后它会调用一个过滤器(如果存在)来更详细地检查记录是否应该发布。 如果通过,它会将LogRecord发布到其输出处理程序。 默认情况下,记录器也会发布到其父处理程序,并递归到树上。
每个记录器可能有一个与之关联的ResourceBundle名称。 命名包将用于本地化日志消息。 如果记录器没有自己的ResourceBundle名称,那么它将从它的父项继承ResourceBundle名称,递归到树上。
大多数记录器输出方法都采用“msg”参数。 此msg参数可能是原始值或本地化密钥。 在格式化期间,如果记录器具有(或继承)本地化ResourceBundle,并且ResourceBundle具有msg字符串的映射,则msg字符串会被本地化值替换。 否则使用原始的msg字符串。 通常情况下,格式化程序使用java.text.MessageFormat样式格式来格式化参数,例如格式字符串“{0} {1}”可以将两个参数格式化为字符串。
将ResourceBundle名称映射到ResourceBundles时,Logger将首先尝试使用Thread的ContextClassLoader。 如果那是null,它会尝试使用SystemClassLoader。 作为初始实现中的一个临时转换功能,如果Logger无法从ContextClassLoader或SystemClassLoader定位ResourceBundle,则Logger也会搜索类堆栈并使用连续的调用ClassLoaders尝试查找ResourceBundle。 (此调用堆栈搜索允许容器转换为使用ContextClassLoaders,并可能在未来版本中删除。)
格式化(包括本地化)是输出处理程序的职责,通常会调用Formatter。
请注意,格式不需要同步发生。 它可能会延迟,直到LogRecord实际写入外部接收器。
日志记录方法分为五个主要类别:
有一组“日志”方法将日志级别,消息字符串以及可选的某些参数作为消息字符串。
有一组“logp”方法(用于“日志精确”),就像“log”方法一样,但也需要一个明确的源类名称和方法名称。
有一组“logrb”方法(用于“使用资源包的日志”)与“logp”方法类似,但也使用明确的资源包名称用于本地化日志消息。
有跟踪方法条目(“进入”方法),方法返回(“退出”方法)和抛出异常(“抛出”方法)的便利方法。
最后,在开发人员只需要在给定日志级别记录简单字符串的情况下,可以使用一组便捷方法。 这些方法以标准级别名称(“严重”,“警告”,“信息”等)命名,并采用一个参数即消息字符串。
对于不采用明确的源名称和方法名称的方法,Logging框架将“尽最大努力”来确定在日志记录方法中调用哪个类和方法。 但是,重要的是要认识到,这种自动推断的信息可能只是近似的(或者甚至可能是完全错误的!)。 虚拟机被允许在JITing时进行广泛的优化,并且可以完全移除堆栈帧,从而无法可靠地定位调用类和方法。
记录器上的所有方法都是多线程安全的。
子类化信息:请注意,LogManager类可能为名称空间中的任何点提供其自己的命名记录器实现。 因此,Logger的任何子类(除非它们与新的LogManager类一起实现)应该注意从LogManager类获取一个Logger实例,并应该将诸如“isLoggable”和“log(LogRecord)”等操作委托给该实例。 请注意,为了拦截所有的日志记录输出,子类只需要覆盖log(LogRecord)方法。 所有其他日志记录方法在此日志(LogRecord)方法上实现为调用。
Constants |
|
---|---|
String |
GLOBAL_LOGGER_NAME GLOBAL_LOGGER_NAME是全球记录器的名称。 |
Fields |
|
---|---|
public static final Logger |
global 此字段在API级别9中已弃用。此字段的初始化容易导致死锁。 该字段必须通过Logger类初始化进行初始化,这可能会导致LogManager类初始化出现死锁。 在这种情况下,两个类的初始化等待彼此完成。 获取全局记录器对象的首选方法是通过调用 |
Protected constructors |
|
---|---|
Logger(String name, String resourceBundleName) 受保护的方法为命名子系统构建记录器。 |
Public methods |
|
---|---|
void |
addHandler(Handler handler) 添加日志处理程序以接收日志消息。 |
void |
config(String msg) 记录一条CONFIG消息。 |
void |
entering(String sourceClass, String sourceMethod, Object[] params) 用一组参数记录方法条目。 |
void |
entering(String sourceClass, String sourceMethod, Object param1) 使用一个参数记录方法条目。 |
void |
entering(String sourceClass, String sourceMethod) 记录一个方法条目。 |
void |
exiting(String sourceClass, String sourceMethod, Object result) 用结果对象记录一个方法返回。 |
void |
exiting(String sourceClass, String sourceMethod) 记录一个方法返回。 |
void |
fine(String msg) 记录一条FINE消息。 |
void |
finer(String msg) 记录FINER消息。 |
void |
finest(String msg) 记录一条最佳消息。 |
static Logger |
getAnonymousLogger(String resourceBundleName) 创建一个匿名记录器。 |
static Logger |
getAnonymousLogger() 创建一个匿名记录器。 |
Filter |
getFilter() 获取该记录器的当前过滤器。 |
static final Logger |
getGlobal() 使用名称Logger.GLOBAL_LOGGER_NAME返回全局记录器对象。 |
Handler[] |
getHandlers() 获取与此记录器关联的处理程序。 |
Level |
getLevel() 获取为此Logger指定的日志级别。 |
static Logger |
getLogger(String name, String resourceBundleName) 为命名子系统查找或创建记录器。 |
static Logger |
getLogger(String name) 为命名子系统查找或创建记录器。 |
String |
getName() 获取这个记录器的名字。 |
Logger |
getParent() 返回此记录器的父项。 |
ResourceBundle |
getResourceBundle() 为当前默认语言环境检索此记录器的本地化资源包。 |
String |
getResourceBundleName() 检索此记录器的本地化资源包名称。 |
boolean |
getUseParentHandlers() 发现这个记录器是否将其输出发送到其父记录器。 |
void |
info(String msg) 记录一条INFO消息。 |
boolean |
isLoggable(Level level) 检查该记录器是否实际记录给定级别的消息。 |
void |
log(Level level, String msg, Object[] params) 用一组对象参数记录消息。 |
void |
log(Level level, String msg) 记录一条消息,不带任何参数。 |
void |
log(LogRecord record) 记录一个LogRecord。 |
void |
log(Level level, String msg, Throwable thrown) 记录一条消息以及相关的Throwable信息。 |
void |
log(Level level, String msg, Object param1) 用一个对象参数记录消息。 |
void |
logp(Level level, String sourceClass, String sourceMethod, String msg, Throwable thrown) 用相关的Throwable信息记录一条消息,指定源类和方法。 |
void |
logp(Level level, String sourceClass, String sourceMethod, String msg, Object[] params) 使用对象参数数组记录消息,指定源类和方法。 |
void |
logp(Level level, String sourceClass, String sourceMethod, String msg) 记录消息,指定源类和方法,不带任何参数。 |
void |
logp(Level level, String sourceClass, String sourceMethod, String msg, Object param1) 使用单个对象参数将消息记录到日志消息中,并指定源类和方法。 |
void |
logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg) 记录消息,指定源类,方法和不带参数的资源包名称。 |
void |
logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object param1) 使用单个对象参数记录消息,指定源类,方法和资源包名称,并将其记录到日志消息中。 |
void |
logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Throwable thrown) 记录一条消息,指定源类,方法和资源包名称以及相关的Throwable信息。 |
void |
logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object[] params) 使用对象参数数组记录消息,指定源类,方法和资源包名称。 |
void |
removeHandler(Handler handler) 删除日志处理程序。 |
void |
setFilter(Filter newFilter) 设置一个过滤器来控制此记录器上的输出。 |
void |
setLevel(Level newLevel) 设置日志级别,指定该记录器将记录哪些消息级别。 |
void |
setParent(Logger parent) 为此记录器设置父项。 |
void |
setUseParentHandlers(boolean useParentHandlers) 指定此记录器是否应将其输出发送到其父记录器。 |
void |
severe(String msg) 记录严重讯息。 |
void |
throwing(String sourceClass, String sourceMethod, Throwable thrown) 日志抛出异常。 |
void |
warning(String msg) 记录警告消息。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String GLOBAL_LOGGER_NAME
GLOBAL_LOGGER_NAME是全球记录器的名称。
常数值:“全球”
Logger global
此字段在API级别9中已被弃用。
这个字段的初始化容易发生死锁。 该字段必须通过Logger类初始化进行初始化,这可能会导致LogManager类初始化出现死锁。 在这种情况下,两个类的初始化等待彼此完成。 获取全局记录器对象的首选方法是通过调用Logger.getGlobal()
。 为了与Logger.getGlobal()
不可用的旧JDK版本兼容,请使用调用Logger.getLogger(Logger.GLOBAL_LOGGER_NAME)
或Logger.getLogger("global")
。
提供“全局”Logger对象是为了随意使用Logging软件包的开发人员提供的便利。 开发人员认真使用日志包(例如在产品中)应该创建并使用他们自己的Logger对象,并使用适当的名称,以便日志记录能够以合适的每个Logger粒度进行控制。 开发人员还需要对其Logger对象进行强有力的引用,以防止垃圾收集。
Logger (String name, String resourceBundleName)
受保护的方法为命名子系统构建记录器。
记录器最初将配置为null级别,并且useParentHandlers设置为true。
Parameters | |
---|---|
name |
String : A name for the logger. This should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swing. It may be null for anonymous Loggers. |
resourceBundleName |
String : name of ResourceBundle to be used for localizing messages for this logger. May be null if none of the messages require localization. |
Throws | |
---|---|
MissingResourceException |
if the resourceBundleName is non-null and no corresponding resource can be found. |
void addHandler (Handler handler)
添加日志处理程序以接收日志消息。
默认情况下,记录器也会将其输出发送到其父记录器。 通常,根Logger配置有一组处理程序,它们实际上充当所有记录程序的默认处理程序。
Parameters | |
---|---|
handler |
Handler : a logging Handler |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void config (String msg)
记录一条CONFIG消息。
如果记录器当前为CONFIG消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
msg |
String : The string message (or a key in the message catalog) |
void entering (String sourceClass, String sourceMethod, Object[] params)
用一组参数记录方法条目。
这是一种方便的方法,可用于记录进入方法。 带有“ENTRY”消息的LogRecord(后跟参数数组中每个条目的格式{N}指示符),日志级别FINER以及给定sourceMethod,sourceClass和参数。
Parameters | |
---|---|
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that is being entered |
params |
Object : array of parameters to the method being entered |
void entering (String sourceClass, String sourceMethod, Object param1)
使用一个参数记录方法条目。
这是一种方便的方法,可用于记录进入方法。 带有消息“ENTRY {0}”,日志级别FINER以及给定的sourceMethod,sourceClass和参数的LogRecord被记录。
Parameters | |
---|---|
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that is being entered |
param1 |
Object : parameter to the method being entered |
void entering (String sourceClass, String sourceMethod)
记录一个方法条目。
这是一种方便的方法,可用于记录进入方法。 记录消息“ENTRY”,日志级别FINER和给定sourceMethod和sourceClass的LogRecord。
Parameters | |
---|---|
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that is being entered |
void exiting (String sourceClass, String sourceMethod, Object result)
用结果对象记录一个方法返回。
这是一种方便的方法,可用于记录从方法返回的日志。 记录消息“RETURN {0}”,日志级别为FINER,给出sourceMethod,sourceClass和result对象的LogRecord。
Parameters | |
---|---|
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of the method |
result |
Object : Object that is being returned |
void exiting (String sourceClass, String sourceMethod)
记录一个方法返回。
这是一种方便的方法,可用于记录从方法返回的日志。 记录带有消息“RETURN”,日志级别FINER以及给定sourceMethod和sourceClass的LogRecord。
Parameters | |
---|---|
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of the method |
void fine (String msg)
记录一条FINE消息。
如果记录器当前为FINE消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
msg |
String : The string message (or a key in the message catalog) |
void finer (String msg)
记录FINER消息。
如果记录器当前对FINER消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
msg |
String : The string message (or a key in the message catalog) |
void finest (String msg)
记录一条最佳消息。
如果记录器当前已启用FINEST消息级别,则给定的消息将被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
msg |
String : The string message (or a key in the message catalog) |
Logger getAnonymousLogger (String resourceBundleName)
创建一个匿名记录器。 新创建的记录器未在LogManager名称空间中注册。 对记录器的更新没有访问检查。
此工厂方法主要用于从小程序使用。 由于生成的记录器是匿名的,它可以由创建类保持私有。 这消除了对正常安全检查的需要,这又允许不可信的applet代码更新记录器的控制状态。 例如,一个applet可以在anonymous Logger上执行setLevel或addHandler。
尽管新记录器是匿名的,但它被配置为拥有根记录器(“”)作为它的父项。 这意味着默认情况下,它从根记录器继承其有效级别和处理程序。
Parameters | |
---|---|
resourceBundleName |
String : name of ResourceBundle to be used for localizing messages for this logger. May be null if none of the messages require localization. |
Returns | |
---|---|
Logger |
a newly created private Logger |
Throws | |
---|---|
MissingResourceException |
if the resourceBundleName is non-null and no corresponding resource can be found. |
Logger getAnonymousLogger ()
创建一个匿名记录器。 新创建的记录器未在LogManager名称空间中注册。 对记录器的更新没有访问检查。
此工厂方法主要用于从小程序使用。 由于生成的记录器是匿名的,它可以由创建类保持私有。 这消除了对正常安全检查的需要,这又允许不可信的applet代码更新记录器的控制状态。 例如,一个applet可以在anonymous Logger上执行setLevel或addHandler。
尽管新记录器是匿名的,但它被配置为拥有根记录器(“”)作为它的父项。 这意味着默认情况下,它从根记录器继承其有效级别和处理程序。
Returns | |
---|---|
Logger |
a newly created private Logger |
Filter getFilter ()
获取该记录器的当前过滤器。
Returns | |
---|---|
Filter |
a filter object (may be null) |
Logger getGlobal ()
使用名称Logger.GLOBAL_LOGGER_NAME返回全局记录器对象。
Returns | |
---|---|
Logger |
global logger object |
Handler[] getHandlers ()
获取与此记录器关联的处理程序。
Returns | |
---|---|
Handler[] |
an array of all registered Handlers |
Level getLevel ()
获取为此Logger指定的日志级别。 结果可能为空,这意味着此记录器的有效等级将从其父项继承。
Returns | |
---|---|
Level |
this Logger's level |
Logger getLogger (String name, String resourceBundleName)
为命名子系统查找或创建记录器。 如果记录器已经用给定名称创建,则返回。 否则,将创建一个新的记录器。
如果创建一个新的记录器,其日志级别将根据LogManager进行配置,并且它将配置为将日志记录输出发送到其父级的处理程序。 它将在LogManager全局名称空间中注册。
注意:LogManager只能保留对新创建的记录器的弱引用。 重要的是要明白,如果没有对记录器的强引用,那么以前创建的具有给定名称的记录器可能会随时被垃圾收集。 特别是,这意味着如果在程序的其他地方没有对名为“MyLogger”的记录器的强引用,那么两个背靠背调用getLogger("MyLogger", ...).log(...)
可能会使用名为“MyLogger”的不同Logger对象。
如果指定的Logger已经存在并且还没有本地化资源包,则使用给定的资源包名称。 如果指定的Logger已经存在并且具有不同的资源包名称,则会抛出IllegalArgumentException。
Parameters | |
---|---|
name |
String : A name for the logger. This should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swing |
resourceBundleName |
String : name of ResourceBundle to be used for localizing messages for this logger. May be null if none of the messages require localization. |
Returns | |
---|---|
Logger |
a suitable Logger |
Throws | |
---|---|
MissingResourceException |
if the resourceBundleName is non-null and no corresponding resource can be found. |
IllegalArgumentException |
if the Logger already exists and uses a different resource bundle name. |
NullPointerException |
if the name is null. |
Logger getLogger (String name)
为命名子系统查找或创建记录器。 如果记录器已经用给定名称创建,则返回。 否则,将创建一个新的记录器。
如果创建了新的记录器,则其日志级别将根据LogManager配置进行配置,并且将配置为将日志记录输出发送到其父级的处理程序。 它将在LogManager全局名称空间中注册。
注意:LogManager只能保留对新创建的记录器的弱引用。 重要的是要明白,如果没有对记录器的强引用,那么以前创建的具有给定名称的记录器可能会随时被垃圾收集。 特别是,这意味着如果在程序的其他地方没有对名为“MyLogger”的Logger的强引用,那么两个背靠背调用getLogger("MyLogger").log(...)
可能会使用名为“MyLogger”的不同Logger对象。
Parameters | |
---|---|
name |
String : A name for the logger. This should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swing |
Returns | |
---|---|
Logger |
a suitable Logger |
Throws | |
---|---|
NullPointerException |
if the name is null. |
String getName ()
获取这个记录器的名字。
Returns | |
---|---|
String |
logger name. Will be null for anonymous Loggers. |
Logger getParent ()
返回此记录器的父项。
此方法返回名称空间中最近的现存父对象。 因此,如果记录器被称为“abcd”,并且创建了一个名为“ab”的记录器,但没有记录器“abc”存在,则在记录器“abcd”上调用getParent将返回记录器“ab”。
如果在名称空间中的根Logger上调用该结果,则结果为null。
Returns | |
---|---|
Logger |
nearest existing parent Logger |
ResourceBundle getResourceBundle ()
为当前默认语言环境检索此记录器的本地化资源包。 请注意,如果结果为空,则记录器将使用从其父项继承的资源包。
Returns | |
---|---|
ResourceBundle |
localization bundle (may be null) |
String getResourceBundleName ()
检索此记录器的本地化资源包名称。 请注意,如果结果为空,则记录器将使用从其父项继承的资源包名称。
Returns | |
---|---|
String |
localization bundle name (may be null) |
boolean getUseParentHandlers ()
发现这个记录器是否将其输出发送到其父记录器。
Returns | |
---|---|
boolean |
true if output is to be sent to the logger's parent |
void info (String msg)
记录一条INFO消息。
如果记录器当前启用了INFO消息级别,则给定的消息被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
msg |
String : The string message (or a key in the message catalog) |
boolean isLoggable (Level level)
检查该记录器是否实际记录给定级别的消息。 此检查基于Logger有效级别,可以从父级继承。
Parameters | |
---|---|
level |
Level : a message logging level |
Returns | |
---|---|
boolean |
true if the given message level is currently being logged. |
void log (Level level, String msg, Object[] params)
用一组对象参数记录消息。
如果记录器当前对给定消息级别启用,则创建相应的LogRecord并将其转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
msg |
String : The string message (or a key in the message catalog) |
params |
Object : array of parameters to the message |
void log (Level level, String msg)
记录一条消息,不带任何参数。
如果记录器当前对给定的消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
msg |
String : The string message (or a key in the message catalog) |
void log (LogRecord record)
记录一个LogRecord。
此类中的所有其他日志记录方法通过此方法调用以实际执行任何日志记录。 子类可以重写此单一方法来捕获所有日志活动。
Parameters | |
---|---|
record |
LogRecord : the LogRecord to be published |
void log (Level level, String msg, Throwable thrown)
记录一条消息以及相关的Throwable信息。
如果记录器当前对给定的消息级别启用,则给定的参数将存储在LogRecord中,该LogRecord将被转发给所有注册的输出处理程序。
请注意,抛出的参数存储在LogRecord抛出的属性中,而不是LogRecord的参数属性。 因此它是由输出格式化程序特别处理的,不被视为LogRecord消息属性的格式化参数。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
msg |
String : The string message (or a key in the message catalog) |
thrown |
Throwable : Throwable associated with log message. |
void log (Level level, String msg, Object param1)
用一个对象参数记录消息。
如果记录器当前对给定消息级别启用,则创建相应的LogRecord并将其转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
msg |
String : The string message (or a key in the message catalog) |
param1 |
Object : parameter to the message |
void logp (Level level, String sourceClass, String sourceMethod, String msg, Throwable thrown)
用相关的Throwable信息记录一条消息,指定源类和方法。
如果记录器当前对给定的消息级别启用,则给定的参数将存储在LogRecord中,该LogRecord将被转发给所有注册的输出处理程序。
请注意,抛出的参数存储在LogRecord抛出的属性中,而不是LogRecord的参数属性。 因此它是由输出格式化程序特别处理的,不被视为LogRecord消息属性的格式化参数。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that issued the logging request |
msg |
String : The string message (or a key in the message catalog) |
thrown |
Throwable : Throwable associated with log message. |
void logp (Level level, String sourceClass, String sourceMethod, String msg, Object[] params)
使用对象参数数组记录消息,指定源类和方法。
如果记录器当前对给定消息级别启用,则创建相应的LogRecord并将其转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that issued the logging request |
msg |
String : The string message (or a key in the message catalog) |
params |
Object : Array of parameters to the message |
void logp (Level level, String sourceClass, String sourceMethod, String msg)
记录消息,指定源类和方法,不带任何参数。
如果记录器当前对给定的消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that issued the logging request |
msg |
String : The string message (or a key in the message catalog) |
void logp (Level level, String sourceClass, String sourceMethod, String msg, Object param1)
使用单个对象参数将消息记录到日志消息中,并指定源类和方法。
如果记录器当前对给定消息级别启用,则创建相应的LogRecord并将其转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that issued the logging request |
msg |
String : The string message (or a key in the message catalog) |
param1 |
Object : Parameter to the log message. |
void logrb (Level level, String sourceClass, String sourceMethod, String bundleName, String msg)
记录消息,指定源类,方法和不带参数的资源包名称。
如果记录器当前对给定的消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。
msg字符串使用指定的资源包进行本地化。 如果资源包名称为空,或者为空字符串或无效,则msg字符串未本地化。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that issued the logging request |
bundleName |
String : name of resource bundle to localize msg, can be null |
msg |
String : The string message (or a key in the message catalog) |
void logrb (Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object param1)
使用单个对象参数记录消息,指定源类,方法和资源包名称,并将其记录到日志消息中。
如果记录器当前对给定消息级别启用,则创建相应的LogRecord并将其转发给所有注册的输出处理程序对象。
msg字符串使用指定的资源包进行本地化。 如果资源包名称为空,或者为空字符串或无效,则msg字符串未本地化。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that issued the logging request |
bundleName |
String : name of resource bundle to localize msg, can be null |
msg |
String : The string message (or a key in the message catalog) |
param1 |
Object : Parameter to the log message. |
void logrb (Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Throwable thrown)
记录一条消息,指定源类,方法和资源包名称以及相关的Throwable信息。
如果记录器当前对给定的消息级别启用,则给定的参数将存储在LogRecord中,该LogRecord将被转发给所有注册的输出处理程序。
msg字符串使用指定的资源包进行本地化。 如果资源包名称为空,或者为空字符串或无效,则msg字符串未本地化。
请注意,抛出的参数存储在LogRecord抛出的属性中,而不是LogRecord的参数属性。 因此它是由输出格式化程序特别处理的,不被视为LogRecord消息属性的格式化参数。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that issued the logging request |
bundleName |
String : name of resource bundle to localize msg, can be null |
msg |
String : The string message (or a key in the message catalog) |
thrown |
Throwable : Throwable associated with log message. |
void logrb (Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object[] params)
使用对象参数数组记录消息,指定源类,方法和资源包名称。
如果记录器当前对给定消息级别启用,则创建相应的LogRecord并将其转发给所有注册的输出处理程序对象。
msg字符串使用指定的资源包进行本地化。 如果资源包名称为空,或者为空字符串或无效,则msg字符串未本地化。
Parameters | |
---|---|
level |
Level : One of the message level identifiers, e.g., SEVERE |
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of method that issued the logging request |
bundleName |
String : name of resource bundle to localize msg, can be null. |
msg |
String : The string message (or a key in the message catalog) |
params |
Object : Array of parameters to the message |
void removeHandler (Handler handler)
删除日志处理程序。
如果给定的处理程序未找到或为空,则默默返回
Parameters | |
---|---|
handler |
Handler : a logging Handler |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void setFilter (Filter newFilter)
设置一个过滤器来控制此记录器上的输出。
在通过初始“级别”检查后,记录器将调用此过滤器来检查日志记录是否应该真正发布。
Parameters | |
---|---|
newFilter |
Filter : a filter object (may be null) |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void setLevel (Level newLevel)
设置日志级别,指定该记录器将记录哪些消息级别。 低于此值的消息级别将被丢弃。 级别值Level.OFF可用于关闭日志记录。
如果新级别为空,则意味着该节点应该从具有特定(非空)级别值的最近的祖先继承其级别。
Parameters | |
---|---|
newLevel |
Level : the new value for the log level (may be null) |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void setParent (Logger parent)
为此记录器设置父项。 当名称空间更改时,LogManager使用此方法更新记录器。
它不应该从应用程序代码中调用。
Parameters | |
---|---|
parent |
Logger : the new parent logger |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void setUseParentHandlers (boolean useParentHandlers)
指定此记录器是否应将其输出发送到其父记录器。 这意味着任何LogRecords也将被写入到父进程的处理程序中,并且可能会被写回到它的父进程中,递归地向上命名该空间。
Parameters | |
---|---|
useParentHandlers |
boolean : true if output is to be sent to the logger's parent. |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void severe (String msg)
记录严重讯息。
如果当前为SEVERE消息级启用了记录器,则给定的消息被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
msg |
String : The string message (or a key in the message catalog) |
void throwing (String sourceClass, String sourceMethod, Throwable thrown)
日志抛出异常。
这是一个方便的方法来记录一个方法正在抛出异常终止。 日志记录是使用FINER级别完成的。
如果记录器当前对给定的消息级别启用,则给定的参数将存储在LogRecord中,该LogRecord将被转发给所有注册的输出处理程序。 LogRecord的消息设置为“THROW”。
请注意,抛出的参数存储在LogRecord抛出的属性中,而不是LogRecord的参数属性。 因此它是由输出格式化程序特别处理的,不被视为LogRecord消息属性的格式化参数。
Parameters | |
---|---|
sourceClass |
String : name of class that issued the logging request |
sourceMethod |
String : name of the method. |
thrown |
Throwable : The Throwable that is being thrown. |
void warning (String msg)
记录警告消息。
如果记录器当前已启用WARNING消息级别,则给定的消息将被转发给所有注册的输出处理程序对象。
Parameters | |
---|---|
msg |
String : The string message (or a key in the message catalog) |