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.