org.apache.felix.dm.impl
Class Logger

java.lang.Object
  extended by org.apache.felix.dm.impl.Logger
All Implemented Interfaces:
EventListener, ServiceListener

public class Logger
extends Object
implements ServiceListener

This class mimics the standard OSGi LogService interface. An instance of this class is used by the dependency manager 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. This class also tracks 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, which is also why it does not actually implement LogService. This class is in many ways similar to the one used in the system bundle for that same purpose.

Author:
Felix Project Team

Field Summary
static int LOG_DEBUG
           
static int LOG_ERROR
           
static int LOG_INFO
           
static int LOG_WARNING
           
 
Constructor Summary
Logger(BundleContext context)
           
 
Method Summary
protected  void doLog(ServiceReference sr, int level, String msg, Throwable throwable)
           
 void log(int level, String msg)
           
 void log(int level, String msg, Throwable throwable)
           
 void log(ServiceReference sr, int level, String msg)
           
 void log(ServiceReference sr, int level, String msg, Throwable throwable)
           
 void serviceChanged(ServiceEvent event)
          This method implements the callback for the ServiceListener interface.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG_ERROR

public static final int LOG_ERROR
See Also:
Constant Field Values

LOG_WARNING

public static final int LOG_WARNING
See Also:
Constant Field Values

LOG_INFO

public static final int LOG_INFO
See Also:
Constant Field Values

LOG_DEBUG

public static final int LOG_DEBUG
See Also:
Constant Field Values
Constructor Detail

Logger

public Logger(BundleContext context)
Method Detail

log

public final void log(int level,
                      String msg)

log

public final void log(int level,
                      String msg,
                      Throwable throwable)

log

public final void log(ServiceReference sr,
                      int level,
                      String msg)

log

public final void log(ServiceReference sr,
                      int level,
                      String msg,
                      Throwable throwable)

doLog

protected void doLog(ServiceReference sr,
                     int level,
                     String msg,
                     Throwable throwable)

serviceChanged

public final void serviceChanged(ServiceEvent event)
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 interface ServiceListener
Parameters:
event - The ServiceEvent object.


Copyright © 2011 Apache Software Foundation. All Rights Reserved.