Have been working with the new Framework Logging functionality and have
a few related questions regarding it.


1. Have noticed that the Framework Logger ignores the configuration
property felix.log.level when a LogService is detected. 
Was that the intention?

2. When a LogService is detected the LogService.log( ServiceReference
sr, int level, String message, Throwable exception ) is often invoked
with a null sr argument.  
Does the framework ever use non-null sr arguments and if so under what
conditions?

3. Many application libraries dynamically import APIs, that might not
actually be available, and catch and ignore the exception if classes are
not available via the classloader.  Libraries that relie on the
JavaBeans model do this. Failure to find a class is not considered a bad
thing for these libraries. Felix considers failure to load classes an
event worthy of a log message at the WARN level. 

WARNING: *** Class 'java.lang.ObjectBeanInfo' was not found. Bundle 23
does not import package 'java.lang', nor is the package exported by any
other bundle or available from the system class loader. ***
(java.lang.ClassNotFoundException: *** Class 'java.lang.ObjectBeanInfo'
was not found. Bundle 23 does not import package 'java.lang', nor is the
package exported by any other bundle or available from the system class
loader. ***)

In applications using libraries utilizing these techniques the user is
often overwhelmed with WARN framework messages which can obscure events
that require user attention. This problem is made all the more
problematic when Felix uses a LogService that outputs stacktraces for
exceptions. 

Should we downgrade Felix classloading events a lower loglevel?

kind regards,
John

Reply via email to