Richard S. Hall wrote:
Dale Peakall wrote:

Richard S. Hall wrote:

Dale Peakall wrote:

I have a log service implementation that I'd like to donate. How should I go about this?



Thanks for the interest.

I guess first of all, give us a link so that people can take a look at it. Then after that we can call a vote on accepting it or not. Then we would have to deal with the software grant paperwork, etc.


I've uploaded the source files to http://www.peakall.com/osgi/

I've included the raw source files, a zip that's ready to be unpacked into a felix source tree (the top-level POM will need to be updated to include the sub-project), and a pre-built bundle.


Well, that is an excellent start! :-)

Is there any general docs or information about your implementation? Is it a quick and dirty type of implementation or does it leverage another logging system? Perhaps you could say a few words about it?

Thanks a lot.

The service provides a simple, in-memory log that is not persisted over framework restarts. Most of the interesting work is performed by the Log.java class - which:
a) Maintains a linked list of log entry objects;
b) Is responsible for calling any registered log listeners.

As recommended in the compendium, the raw exceptions that are logged are not stored directly, but as instances of an implementation specific class (the LogException.java class). The only exception to this that I've chosen to implement is for exception classes from the "java" package that don't contain embedded exceptions as these should not prevent memory being reclaimed when the bundle that originally created the exception is unloaded.

Two properties are used to configure the service:
* org.apache.felix.log.maxSize - specifies the maximum number of log entries to store in the historic log. * org.apache.felix.log.storeDebug - specifies whether or not to store entries logged at debug level.

As I understand it, the design of the API (see section 101 of the service compendium) is such that interfacing to other logging systems (for outputting log messages to disk etc) should be performed by log listener implementations.

Dale Peakall.

Reply via email to