Redirecting log information
Phil Race
philip.race at oracle.com
Tue May 8 09:06:20 PDT 2012
I think the graphics code mostly if not always, guards those printlns
with a check for
a debugging flag. Unless used in a similar manner, the logging API
carries overhead.
There was a fix in JDK 7 to eliminate dependency on logging from
AWT/2D/Swing.
In part that was because of modularisation .. I don't know the full
story on why
that mattered.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6879044 :
Eliminate the dependency on logging from the AWT/2D/Swing classes
-phil.
On 5/8/2012 8:28 AM, Kevin Rushforth wrote:
> This would certainly make everyone's life easier.
>
> In any case, library code should never write debug/warning/error
> meesages to System.out / stdout (and yes, I know that some of the
> graphics currently does). Best is to use logging where possible for
> the reasons Richard mentioned, and System.err / stderr where not.
>
> -- Kevin
>
>
> Richard Bair wrote:
>> Not all JavaFx code is consistent on logging. In particular, the
>> graphics code just uses System.out and System.err, whereas controls
>> use a Logger which goes to System.out unless you enable JDK logging,
>> in which case it uses a JDK Logger.
>>
>> I feel we ought to use the same logging method consistently, and then
>> it should be quite easy for you to redirect by utilizing the JDK
>> logging mechanism?
>>
>> On May 8, 2012, at 5:19 AM, Tom Schindl <tom.schindl at bestsolution.at>
>> wrote:
>>
>>> Hi,
>>>
>>> The problem is the point at which one redirects the stderr. Take a look
>>> at this:
>>>
>>>> public class TestApp extends Application {
>>>>
>>>> @Override
>>>> public void start(Stage primaryStage) {
>>>> ByteArrayOutputStream out = new ByteArrayOutputStream();
>>>> PrintStream orig = System.err;
>>>> System.setErr(new PrintStream(out)); // Works
>>> vs.
>>>
>>>> public class TestApp extends Application {
>>>>
>>>> @Override
>>>> public void start(Stage primaryStage) {
>>>> ByteArrayOutputStream out = new ByteArrayOutputStream();
>>>> PrintStream orig = System.err;
>>>> Group g = new Group();
>>>> System.setErr(new PrintStream(out)); // Does not work
>>> The problem is that Option 1 is not possible for me because I only have
>>> to redirect the logging information from JavaFX while your solution
>>> completely redirects STDERR with is not making much sense!
>>>
>>> Sad enough the Logging code is not yet opensourced so I still hope that
>>> a JavaFX dev with access to the code can help me.
>>>
>>> So I repeat my question. Can I somehow set a custom logger to the
>>> JavaFX
>>> platform?
>>>
>>> Tom
>>>
>>> Am 08.05.12 00:22, schrieb Tom Schindl:
>>>> I've tried that already and couldn't make it work. Did you try it
>>>> and it
>>>> worked? Then I'd give another try.
>>>>
>>>> Tom
>>>>
>>>> Am 08.05.12 00:25, schrieb Christian Schudt:
>>>>> You can redirect the System.err stream to your logger.
>>>>>
>>>>> See here:
>>>>>
>>>>> https://forums.oracle.com/forums/thread.jspa?messageID=10304321
>>>>> http://stackoverflow.com/questions/1200175/log4j-redirect-stdout-to-dailyrollingfileappender/1370033#1370033
>>>>>
>>>>>
>>>>> Christian
>>>>>
>>>>>
>>>>> Am 07.05.2012 um 23:06 schrieb Tom Schindl:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm having a hard time redirecting log output generated by JavaFX
>>>>>> library. Is there some API available or documentation?
>>>>>>
>>>>>> Tom
>>>>>>
>>>>>> --
>>>>>> B e s t S o l u t i o n . a t EDV
>>>>>> Systemhaus GmbH
>>>>>> ------------------------------------------------------------------------
>>>>>>
>>>>>> tom schindl geschäftsführer/CEO
>>>>>> ------------------------------------------------------------------------
>>>>>>
>>>>>> eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512
>>>>>> 935833
>>>>>> http://www.BestSolution.at phone ++43 512
>>>>>> 935834
>>> --
>>> B e s t S o l u t i o n . a t EDV Systemhaus
>>> GmbH
>>> ------------------------------------------------------------------------
>>>
>>> tom schindl geschäftsführer/CEO
>>> ------------------------------------------------------------------------
>>>
>>> eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512
>>> 935833
>>> http://www.BestSolution.at phone ++43 512
>>> 935834
More information about the openjfx-dev
mailing list