Class Logger
- All Implemented Interfaces:
EventListener
,ServiceListener
This class mimics the standard OSGi LogService interface. An instance of this class is used by the framework for all logging. By default this class logs messages to standard out. The log level can be set to control the amount of logging performed, where a higher number results in more logging. A log level of zero turns off logging completely.
The log levels match those specified in the OSGi Log Service (i.e., 1 = error, 2 = warning, 3 = information, and 4 = debug). The default value is 1.
This class also uses the System Bundle's context to track log services and will use the highest ranking log service, if present, as a back end instead of printing to standard out. The class uses reflection to invoking the log service's method to avoid a dependency on the log interface.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doLog
(Bundle bundle, ServiceReference sr, int level, String msg, Throwable throwable) final int
final void
final void
final void
final void
final void
log
(ServiceReference sr, int level, String msg) final void
log
(ServiceReference sr, int level, String msg, Throwable throwable) final void
serviceChanged
(ServiceEvent event) This method implements the callback for the ServiceListener interface.final void
setLogLevel
(int i) protected void
setSystemBundleContext
(BundleContext context)
-
Field Details
-
LOG_ERROR
public static final int LOG_ERROR- See Also:
-
LOG_WARNING
public static final int LOG_WARNING- See Also:
-
LOG_INFO
public static final int LOG_INFO- See Also:
-
LOG_DEBUG
public static final int LOG_DEBUG- See Also:
-
-
Constructor Details
-
Logger
public Logger()
-
-
Method Details
-
setLogLevel
public final void setLogLevel(int i) -
getLogLevel
public final int getLogLevel() -
setSystemBundleContext
-
log
-
log
-
log
-
log
-
log
-
log
-
doLog
protected void doLog(Bundle bundle, ServiceReference sr, int level, String msg, Throwable throwable) -
serviceChanged
This method implements the callback for the ServiceListener interface. It is public as a byproduct of implementing the interface and should not be called directly. This method tracks run-time changes to log service availability. If the log service being used by the framework's logging mechanism goes away, then this will try to find an alternative. If a higher ranking log service is registered, then this will switch to the higher ranking log service.- Specified by:
serviceChanged
in interfaceServiceListener
- Parameters:
event
- TheServiceEvent
object.
-