db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suat Gonul <suatgo...@gmail.com>
Subject Re: Changing logging mechanism for derby.log
Date Fri, 13 Jul 2012 06:15:21 GMT
On 07/12/2012 05:59 PM, Rick Hillegas wrote:
> On 7/12/12 6:26 AM, Suat Gonul wrote:
>> On 07/12/2012 03:54 PM, Rick Hillegas wrote:
>>> On 7/12/12 5:22 AM, Suat Gonul wrote:
>>>> Hi everybody,
>>>>
>>>> In an OSGi based environment we are using the Derby database. So, I
>>>> would like to adjust location and the names of the derby.log file.
>>>> However, adjusting the global system properties e.g
>>>> "derby.system.home",
>>>> "derby.stream.error.file" is not an option for us as there might be
>>>> other bundles using the Derby.
>>>>
>>>> In our system, we use Sling Logging Tools [1]. Is there any way to
>>>> integrate those tools with the logging mechanism of Derby. Or is there
>>>> any other way to configure the location and name of the "derby.log"
>>>> file? Thanks in advance...
>>>>
>>>> Best,
>>>> Suat
>>>>
>>>> [1] http://sling.apache.org/site/logging.html
>>>>
>>> Hi Suat,
>>>
>>> If you can wrap your custom logger in a class which implements
>>> java.io.OutputStream or java.io.Writer, then you can configure Derby
>>> to use that class. Please see the Reference Manual section on setting
>>> the derby.stream.error.method system property:
>>> http://db.apache.org/derby/docs/10.9/ref/
>>>
>>> Hope this helps,
>>> -Rick
>>>
>> Thanks for the fast reply. Then the only way to configure logging is to
>> adjust some system properties. Is there a way so that one OSGi component
>> uses "method1" while the other uses "method2" for logging. I am asking
>> this, because those components use completely different schemas.
>>
>> Best,
>> Suat
>>
> Hi Suat,
>
> The method would have to figure out what component it is running in.
> I'm not an expert on how OSGi works but it is likely that each
> component runs in its own Classloader. What if the method was in a
> class loaded by the same Classloader which loaded the Derby instance?
> Could  you map Classloaders to components and then map components to
> the configuration information you need to pick the right log file?
> What if the Sling Logging Tools were loaded, per component, by the
> same Classloader which loaded the Derby instance? Sorry to be waving
> my hands here.
>
> I may not be understanding your problem. It sounds as though you have
> multiple Derby instances and you want each instance to log error
> messages to a separate file.
>
> Hope this helps and doesn't just muddle the problem,
> -Rick
>

Hi Rick,

You described my concern precisely. Maybe I can find a solution through
the stack trace when the logging method is called.

Thanks for the help, best,
Suat

Mime
View raw message