I think it's only a partial solution for his question.
The main issue however isn't solved by using PAX Logging: it seems he wants to be able to use some kind of logging context. If I understand correctly then Laurens wants to be able to control the output of specific bundles in specific contexts. Say for example if I have a bundle (bundle X in your case) which utilizes another bundle (Bundle Y) and calls BundleY.MathUtils.multiply(a,b) on this bundle. Somethings goes wrong in Bundle Y and he wants to log a warning, if I understand correctly you want this warning to be logged in the log file of Bundle X? You probably want something like this because BundleY is called by several other bundles?

I'm also looking into something like this because this can be really useful if you're debugging your applications since there is only related information logged. Say for example if you have webapplications deployed as bundles then you want that application/bundle to log to its own log file and if that application calls any libraries then that library should also log to the log file of the application. (Just like in normal webcontainers)

On 10/14/2010 03:58 PM, Achim Nierbeck wrote:
You might also take a look at PAX-Logging, to me it looks like it would be
the one you are searching for :)

2010/10/14 Michael Hess<[email protected]>

Hello,

We have the following problem:


Multiple bundles run on osgi, each of them has a log file. If bundle X
calls
bundle Y and a warning occurs in bundle Y, we want to log the warning in
the
log file of bundle X. But the problem we have at the moment is that
bundle Y
doesn?t know bundle X and how bundle Y knows who have called him.

We have thought of 3 possible ways to solve the problem:

    1. StackTrace, but we think it is slow and it?s not nice to use
stackt
    race.
    2. Set the context in another bundle, so bundle Y can use the
function
    getlogger to our own created bundle
    3. Security Manager, but we don?t know whether it works well with
osgi.
We want to know which way is the best or maybe someone has the
experience
with this problem or knows another solution that we haven?t thought of
yet.

To me it seems, like the separation of logfiles is not what you want.

What we did in our project, was to create a Logging Service. It is pretty
much a wrapper around log4j (or another backend of choice), and the bundle
exposes a ServiceFactory which gives every bundle its own logger instance.
In the activator of our bundles, the logger is retrieved and the bundle
can then use it. So what we have, is the "logging bundle" which writes a
single log file, and all bundles of the system can participate by issueing
their log statements toward that bundle via the exposed service.


Kind regards,

Laurens
bye, Michael

The information included in this e-mail and any files transmitted with it
is strictly confidential and may be privileged or otherwise protected from
disclosure. If you are not the intended recipient, please notify the sender
immediately by e-mail and delete this e-mail as well as any attachment from
your system. If you are not the intended recipient you are not authorized to
use and/or copy this message and/or attachment and/or disclose the contents
to any other person.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to