Most visited

Recently visited

Added in API level 1

Logger

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实际写入外部接收器。

日志记录方法分为五个主要类别:

对于不采用明确的源名称和方法名称的方法,Logging框架将“尽最大努力”来确定在日志记录方法中调用哪个类和方法。 但是,重要的是要认识到,这种自动推断的信息可能只是近似的(或者甚至可能是完全错误的!)。 虚拟机被允许在JITing时进行广泛的优化,并且可以完全移除堆栈帧,从而无法可靠地定位调用类和方法。

记录器上的所有方法都是多线程安全的。

子类化信息:请注意,LogManager类可能为名称空间中的任何点提供其自己的命名记录器实现。 因此,Logger的任何子类(除非它们与新的LogManager类一起实现)应该注意从LogManager类获取一个Logger实例,并应该将诸如“isLoggable”和“log(LogRecord)”等操作委托给该实例。 请注意,为了拦截所有的日志记录输出,子类只需要覆盖log(LogRecord)方法。 所有其他日志记录方法在此日志(LogRecord)方法上实现为调用。

Summary

Constants

String GLOBAL_LOGGER_NAME

GLOBAL_LOGGER_NAME是全球记录器的名称。

Fields

public static final Logger global

此字段在API级别9中已弃用。此字段的初始化容易导致死锁。 该字段必须通过Logger类初始化进行初始化,这可能会导致LogManager类初始化出现死锁。 在这种情况下,两个类的初始化等待彼此完成。 获取全局记录器对象的首选方法是通过调用Logger.getGlobal() 为了与Logger.getGlobal()不可用的旧JDK版本兼容,请使用调用Logger.getLogger(Logger.GLOBAL_LOGGER_NAME)Logger.getLogger("global")

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

Constants

GLOBAL_LOGGER_NAME

Added in API level 9
String GLOBAL_LOGGER_NAME

GLOBAL_LOGGER_NAME是全球记录器的名称。

常数值:“全球”

Fields

global

Added in API level 1
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对象进行强有力的引用,以防止垃圾收集。

Protected constructors

Logger

Added in API level 1
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.

Public methods

addHandler

Added in API level 1
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").

config

Added in API level 1
void config (String msg)

记录一条CONFIG消息。

如果记录器当前为CONFIG消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。

Parameters
msg String: The string message (or a key in the message catalog)

entering

Added in API level 1
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

entering

Added in API level 1
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

entering

Added in API level 1
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

exiting

Added in API level 1
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

exiting

Added in API level 1
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

fine

Added in API level 1
void fine (String msg)

记录一条FINE消息。

如果记录器当前为FINE消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。

Parameters
msg String: The string message (or a key in the message catalog)

finer

Added in API level 1
void finer (String msg)

记录FINER消息。

如果记录器当前对FINER消息级别启用,则给定的消息被转发给所有注册的输出处理程序对象。

Parameters
msg String: The string message (or a key in the message catalog)

finest

Added in API level 1
void finest (String msg)

记录一条最佳消息。

如果记录器当前已启用FINEST消息级别,则给定的消息将被转发给所有注册的输出处理程序对象。

Parameters
msg String: The string message (or a key in the message catalog)

getAnonymousLogger

Added in API level 1
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.

getAnonymousLogger

Added in API level 1
Logger getAnonymousLogger ()

创建一个匿名记录器。 新创建的记录器未在LogManager名称空间中注册。 对记录器的更新没有访问检查。

此工厂方法主要用于从小程序使用。 由于生成的记录器是匿名的,它可以由创建类保持私有。 这消除了对正常安全检查的需要,这又允许不可信的applet代码更新记录器的控制状态。 例如,一个applet可以在anonymous Logger上执行setLevel或addHandler。

尽管新记录器是匿名的,但它被配置为拥有根记录器(“”)作为它的父项。 这意味着默认情况下,它从根记录器继承其有效级别和处理程序。

Returns
Logger a newly created private Logger

getFilter

Added in API level 1
Filter getFilter ()

获取该记录器的当前过滤器。

Returns
Filter a filter object (may be null)

getGlobal

Added in API level 19
Logger getGlobal ()

使用名称Logger.GLOBAL_LOGGER_NAME返回全局记录器对象。

Returns
Logger global logger object

getHandlers

Added in API level 1
Handler[] getHandlers ()

获取与此记录器关联的处理程序。

Returns
Handler[] an array of all registered Handlers

getLevel

Added in API level 1
Level getLevel ()

获取为此Logger指定的日志级别。 结果可能为空,这意味着此记录器的有效等级将从其父项继承。

Returns
Level this Logger's level

getLogger

Added in API level 1
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.

getLogger

Added in API level 1
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.

getName

Added in API level 1
String getName ()

获取这个记录器的名字。

Returns
String logger name. Will be null for anonymous Loggers.

getParent

Added in API level 1
Logger getParent ()

返回此记录器的父项。

此方法返回名称空间中最近的现存父对象。 因此,如果记录器被称为“abcd”,并且创建了一个名为“ab”的记录器,但没有记录器“abc”存在,则在记录器“abcd”上调用getParent将返回记录器“ab”。

如果在名称空间中的根Logger上调用该结果,则结果为null。

Returns
Logger nearest existing parent Logger

getResourceBundle

Added in API level 1
ResourceBundle getResourceBundle ()

为当前默认语言环境检索此记录器的本地化资源包。 请注意,如果结果为空,则记录器将使用从其父项继承的资源包。

Returns
ResourceBundle localization bundle (may be null)

getResourceBundleName

Added in API level 1
String getResourceBundleName ()

检索此记录器的本地化资源包名称。 请注意,如果结果为空,则记录器将使用从其父项继承的资源包名称。

Returns
String localization bundle name (may be null)

getUseParentHandlers

Added in API level 1
boolean getUseParentHandlers ()

发现这个记录器是否将其输出发送到其父记录器。

Returns
boolean true if output is to be sent to the logger's parent

info

Added in API level 1
void info (String msg)

记录一条INFO消息。

如果记录器当前启用了INFO消息级别,则给定的消息被转发给所有注册的输出处理程序对象。

Parameters
msg String: The string message (or a key in the message catalog)

isLoggable

Added in API level 1
boolean isLoggable (Level level)

检查该记录器是否实际记录给定级别的消息。 此检查基于Logger有效级别,可以从父级继承。

Parameters
level Level: a message logging level
Returns
boolean true if the given message level is currently being logged.

log

Added in API level 1
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

log

Added in API level 1
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)

log

Added in API level 1
void log (LogRecord record)

记录一个LogRecord。

此类中的所有其他日志记录方法通过此方法调用以实际执行任何日志记录。 子类可以重写此单一方法来捕获所有日志活动。

Parameters
record LogRecord: the LogRecord to be published

log

Added in API level 1
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.

log

Added in API level 1
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

logp

Added in API level 1
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.

logp

Added in API level 1
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

logp

Added in API level 1
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)

logp

Added in API level 1
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.

logrb

Added in API level 1
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)

logrb

Added in API level 1
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.

logrb

Added in API level 1
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.

logrb

Added in API level 1
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

removeHandler

Added in API level 1
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").

setFilter

Added in API level 1
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").

setLevel

Added in API level 1
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").

setParent

Added in API level 1
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").

setUseParentHandlers

Added in API level 1
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").

severe

Added in API level 1
void severe (String msg)

记录严重讯息。

如果当前为SEVERE消息级启用了记录器,则给定的消息被转发给所有注册的输出处理程序对象。

Parameters
msg String: The string message (or a key in the message catalog)

throwing

Added in API level 1
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.

warning

Added in API level 1
void warning (String msg)

记录警告消息。

如果记录器当前已启用WARNING消息级别,则给定的消息将被转发给所有注册的输出处理程序对象。

Parameters
msg String: The string message (or a key in the message catalog)

Hooray!