OK, but as far as I know there is something called SiftAppender, which does
actually do this. Just take a look at the current Apache Karaf (latest
release 2.1.0) there is a so called SiftAppender configured but not
activated which does a per bundle logging.

2010/10/14 Sander de Groot <[email protected]>

> 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