Package org.jboss.logmanager
Class Logger
java.lang.Object
java.util.logging.Logger
org.jboss.logmanager.Logger
- All Implemented Interfaces:
Serializable
An actual logger instance. This is the end-user interface into the logging system.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
An attachment key instance. -
Field Summary
Fields inherited from class java.util.logging.Logger
global, GLOBAL_LOGGER_NAME
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addHandler
(Handler handler) <V> V
attach
(Logger.AttachmentKey<V> key, V value) Attach an object to this logger under a given key.<V> V
attachIfAbsent
(Logger.AttachmentKey<V> key, V value) Attach an object to this logger under a given key, if such an attachment does not already exist.Handler[]
A convenience method to atomically get and clear all handlers.boolean
compareAndSetHandlers
(Handler[] expected, Handler[] newHandlers) Atomically compare and set the handler list for this logger.void
void
<V> V
detach
(Logger.AttachmentKey<V> key) Remove an attachment.void
void
void
void
void
void
void
void
void
void
void
Handler[]
getAndSetHandlers
(Handler[] handlers) Atomically get and set the handler list for this logger.<V> V
getAttachment
(Logger.AttachmentKey<V> key) Get the attachment value for a given key, ornull
if there is no such attachment.int
Get the effective numerical log level, inherited from the parent.Handler[]
getLevel()
Get the log context to which this logger belongs.static Logger
Static logger factory method which returns a JBoss LogManager logger.static Logger
Static logger factory method which returns a JBoss LogManager logger.Get the resource bundle for this logger.boolean
Indicates whether or not this logger inherits filters from it's parent logger.boolean
void
void
boolean
isLoggable
(Level level) void
log
(String fqcn, Level level, String message, String bundleName, ExtLogRecord.FormatStyle style, Object[] params, Throwable t) SPI interface method to log a message at a given level, with a specific resource bundle.void
SPI interface method to log a message at a given level.void
log
(String fqcn, Level level, String message, ExtLogRecord.FormatStyle style, Object[] params, Throwable t) SPI interface method to log a message at a given level.void
void
void
void
void
void
void
void
void
void
void
void
logp
(Level level, String sourceClass, String sourceMethod, Throwable thrown, Supplier<String> msgSupplier) void
void
Do the logging with no level checks (they've already been done).void
logRaw
(ExtLogRecord record) Do the logging with no level checks (they've already been done).void
Deprecated, for removal: This API element is subject to removal in a future version.void
logrb
(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object param1) Deprecated, for removal: This API element is subject to removal in a future version.void
logrb
(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object[] params) Deprecated, for removal: This API element is subject to removal in a future version.void
logrb
(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Throwable thrown) Deprecated, for removal: This API element is subject to removal in a future version.void
logrb
(Level level, String sourceClass, String sourceMethod, ResourceBundle bundle, String msg, Object... params) void
logrb
(Level level, String sourceClass, String sourceMethod, ResourceBundle bundle, String msg, Throwable thrown) void
logrb
(Level level, ResourceBundle bundle, String msg, Object... params) void
logrb
(Level level, ResourceBundle bundle, String msg, Throwable thrown) void
removeHandler
(Handler handler) void
void
setHandlers
(Handler[] handlers) A convenience method to atomically replace the handler list for this logger.void
This implementation grabs a lock, so that only one thread may update the log level of any logger at a time, in order to allow readers to never block (though there is a window where retrieving the log level reflects an older effective level than the actual level).void
setLevelName
(String newLevelName) Set the log level by name.void
Not allowed. This method may never be called.void
setResourceBundle
(ResourceBundle resourceBundle) Set the resource bundle for this logger.void
setUseParentFilters
(boolean useParentFilter) Specify whether or not filters should be inherited from parent loggers.void
setUseParentHandlers
(boolean useParentHandlers) void
void
void
toString()
void
void
protected final Object
Methods inherited from class java.util.logging.Logger
getAnonymousLogger, getAnonymousLogger, getGlobal, getName, getResourceBundleName
-
Method Details
-
getLogger
Static logger factory method which returns a JBoss LogManager logger.- Parameters:
name
- the logger name- Returns:
- the logger
-
getLogger
Static logger factory method which returns a JBoss LogManager logger.- Parameters:
name
- the logger namebundleName
- the bundle name- Returns:
- the logger
-
writeReplace
- Throws:
ObjectStreamException
-
setFilter
- Overrides:
setFilter
in classLogger
- Throws:
SecurityException
-
getFilter
-
setLevel
This implementation grabs a lock, so that only one thread may update the log level of any logger at a time, in order to allow readers to never block (though there is a window where retrieving the log level reflects an older effective level than the actual level).- Overrides:
setLevel
in classLogger
- Throws:
SecurityException
-
setLevelName
Set the log level by name. Uses the parent logging context's name registry; otherwise behaves identically tosetLevel(Level)
.- Parameters:
newLevelName
- the name of the level to set- Throws:
SecurityException
- if a security manager exists and if the caller does not have LoggingPermission("control")
-
getEffectiveLevel
public int getEffectiveLevel()Get the effective numerical log level, inherited from the parent.- Returns:
- the effective level
-
getLevel
-
isLoggable
- Overrides:
isLoggable
in classLogger
-
getAttachment
Get the attachment value for a given key, ornull
if there is no such attachment.- Type Parameters:
V
- the attachment value type- Parameters:
key
- the key- Returns:
- the attachment, or
null
if there is none for this key
-
attach
Attach an object to this logger under a given key. A strong reference is maintained to the key and value for as long as this logger exists.- Type Parameters:
V
- the attachment value type- Parameters:
key
- the attachment keyvalue
- the attachment value- Returns:
- the old attachment, if there was one
- Throws:
SecurityException
- if a security manager exists and if the caller does not haveLoggingPermission(control)
IllegalArgumentException
- if the attachment cannot be added because the maximum has been reached
-
attachIfAbsent
Attach an object to this logger under a given key, if such an attachment does not already exist. A strong reference is maintained to the key and value for as long as this logger exists.- Type Parameters:
V
- the attachment value type- Parameters:
key
- the attachment keyvalue
- the attachment value- Returns:
- the current attachment, if there is one, or
null
if the value was successfully attached - Throws:
SecurityException
- if a security manager exists and if the caller does not haveLoggingPermission(control)
IllegalArgumentException
- if the attachment cannot be added because the maximum has been reached
-
detach
Remove an attachment.- Type Parameters:
V
- the attachment value type- Parameters:
key
- the attachment key- Returns:
- the old value, or
null
if there was none - Throws:
SecurityException
- if a security manager exists and if the caller does not haveLoggingPermission(control)
-
addHandler
- Overrides:
addHandler
in classLogger
- Throws:
SecurityException
-
removeHandler
- Overrides:
removeHandler
in classLogger
- Throws:
SecurityException
-
getHandlers
- Overrides:
getHandlers
in classLogger
-
setHandlers
A convenience method to atomically replace the handler list for this logger.- Parameters:
handlers
- the new handlers- Throws:
SecurityException
- if a security manager exists and if the caller does not haveLoggingPermission(control)
-
getAndSetHandlers
Atomically get and set the handler list for this logger.- Parameters:
handlers
- the new handler set- Returns:
- the old handler set
- Throws:
SecurityException
- if a security manager exists and if the caller does not haveLoggingPermission(control)
-
compareAndSetHandlers
public boolean compareAndSetHandlers(Handler[] expected, Handler[] newHandlers) throws SecurityException Atomically compare and set the handler list for this logger.- Parameters:
expected
- the expected list of handlersnewHandlers
- the replacement list of handlers- Returns:
true
if the handler list was updated orfalse
if the current handlers did not match the expected handlers list- Throws:
SecurityException
- if a security manager exists and if the caller does not haveLoggingPermission(control)
-
clearHandlers
A convenience method to atomically get and clear all handlers.- Throws:
SecurityException
- if a security manager exists and if the caller does not haveLoggingPermission(control)
-
setUseParentHandlers
public void setUseParentHandlers(boolean useParentHandlers) - Overrides:
setUseParentHandlers
in classLogger
-
getUseParentHandlers
public boolean getUseParentHandlers()- Overrides:
getUseParentHandlers
in classLogger
-
setUseParentFilters
public void setUseParentFilters(boolean useParentFilter) Specify whether or not filters should be inherited from parent loggers.Setting this value to
false
has the same behaviour as Logger.- Parameters:
useParentFilter
-true
to inherit a parents filter, otherwisefalse
-
getUseParentFilters
public boolean getUseParentFilters()Indicates whether or not this logger inherits filters from it's parent logger.- Returns:
true
if filters are inherited, otherwisefalse
-
getParent
-
setParent
Not allowed. This method may never be called.- Overrides:
setParent
in classLogger
- Throws:
SecurityException
- always
-
getLogContext
Get the log context to which this logger belongs.- Returns:
- the log context
-
log
-
entering
-
entering
-
entering
-
exiting
-
exiting
-
throwing
-
severe
-
severe
-
warning
-
warning
-
info
-
info
-
config
-
config
-
fine
-
fine
-
finer
-
finer
-
finest
-
finest
-
log
-
log
-
log
-
log
-
log
-
log
-
logp
-
logp
-
logp
-
logp
-
logp
-
logp
-
logrb
@Deprecated(since="3.0", forRemoval=true) public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg) Deprecated, for removal: This API element is subject to removal in a future version. -
logrb
@Deprecated(since="3.0", forRemoval=true) public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object param1) Deprecated, for removal: This API element is subject to removal in a future version. -
logrb
@Deprecated(since="3.0", forRemoval=true) public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object[] params) Deprecated, for removal: This API element is subject to removal in a future version. -
logrb
@Deprecated(since="3.0", forRemoval=true) public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Throwable thrown) Deprecated, for removal: This API element is subject to removal in a future version. -
logrb
-
logrb
-
logrb
-
logrb
-
log
public void log(String fqcn, Level level, String message, String bundleName, ExtLogRecord.FormatStyle style, Object[] params, Throwable t) SPI interface method to log a message at a given level, with a specific resource bundle.- Parameters:
fqcn
- the fully qualified class name of the first logger classlevel
- the level to log atmessage
- the messagebundleName
- the resource bundle namestyle
- the message format styleparams
- the log parameterst
- the throwable, if any
-
log
public void log(String fqcn, Level level, String message, ExtLogRecord.FormatStyle style, Object[] params, Throwable t) SPI interface method to log a message at a given level.- Parameters:
fqcn
- the fully qualified class name of the first logger classlevel
- the level to log atmessage
- the messagestyle
- the message format styleparams
- the log parameterst
- the throwable, if any
-
log
SPI interface method to log a message at a given level.- Parameters:
fqcn
- the fully qualified class name of the first logger classlevel
- the level to log atmessage
- the messaget
- the throwable, if any
-
logRaw
Do the logging with no level checks (they've already been done).- Parameters:
record
- the extended log record
-
setResourceBundle
Set the resource bundle for this logger.- Overrides:
setResourceBundle
in classLogger
- Parameters:
resourceBundle
- the resource bundle (must not benull
)
-
getResourceBundle
Get the resource bundle for this logger.- Overrides:
getResourceBundle
in classLogger
- Returns:
- the resource bundle, or
null
if none is configured for this logger
-
logRaw
Do the logging with no level checks (they've already been done). Creates an extended log record if the provided record is not one.- Parameters:
record
- the log record
-
toString
-