Of course log4j is completely bug free, but that doesn't preclude user 
error. For instance, I neglected to add appenders in my config file 
(actually I intentionally left them out, thinking that would simply turn off 
logging) and then log4j went into an infinite loop. The setPrintStream makes 
sense to me.

joe


>From: Jim Moore <[EMAIL PROTECTED]>
>Reply-To: "LOG4J Users Mailing List" <[EMAIL PROTECTED]>
>To: 'LOG4J Users Mailing List' <[EMAIL PROTECTED]>
>Subject: RE: diverting System.stderr/stdout into log4j
>Date: Mon, 12 Mar 2001 18:10:37 -0500
>
>It doesn't.  I haven't worried about it, since log4j doesn't contain any
>bugs and therefore it would never happen... :)
>
>Probably the best way to handle it is to add a
>LogLog.setPrintStream(PrintStream) method, so you can do something like:
>
>// remember STDERR
>PrintStream se = System.err;
>
>// make sure everything sent to System.err is logged
>System.setErr(new PrintStream(new LoggingOutputStream(Category.getRoot(),
>               Priority.WARN), true));
>
>// make sure everything sent to System.out is also logged
>System.setOut(new PrintStream(new LoggingOutputStream(Category.getRoot(),
>               Priority.INFO), true));
>
>// prevent infinate recursion in LogLog
>LogLog.setPrintStream(se);
>
>
>I can't think of any other way to do it in the current version besides
>getting extremely kludgey by checking the stack to see if it's being called
>from LogLog and logging out the the "real" STDERR then in the
>LoggingOutputStream.  It can be done on the theory that LogLog wouldn't be
>called very often, but still...
>
>-Jim Moore
>
>
>-----Original Message-----
>From: Ceki Gülcü [mailto:[EMAIL PROTECTED]]
>Sent: Monday, March 12, 2001 5:15 PM
>To: LOG4J Users Mailing List
>Subject: RE: diverting System.stderr/stdout into log4j
>
>
>Jim, Joseph,
>
>Here is a link containing Jim's code:
>
>http://marc.theaimsgroup.com/?l=log4j-user&m=98097669218571&w=2
>
>How does this code handle the infinite recursion problem mentioned by
>Joseph? Ceki
>
>At 17:03 12.03.2001 -0500, Jim Moore wrote:
> >Go to the mailing list archives (theAimsGroup.com is the best) and search
> >for the thread with the subject of "Capturing System.err"
> >
> >-Jim Moore
> >"I think so, Brain; but if we gave peas a chance, won't the lima beans 
>get
> >jealous?" - Pinky
> >
> >
> >-----Original Message-----
> >From: Joseph Panico [mailto:[EMAIL PROTECTED]]
> >Sent: Monday, March 12, 2001 4:43 PM
> >To: [EMAIL PROTECTED]
> >Subject: diverting System.stderr/stdout into log4j
> >
> >
> >Folks,
> >
> >We use a number of third-party packages that do stderr.print... at 
>various
> >random places in their code. I'm finding it quite useful to divert these
> >messages into our log4j heirarchy. I do this by replacing stderr/stdout
>with
> >
> >my own PrintStreams that log the lines to a special log4j Category-- as
> >suggested on this list a while back. The only fly-in-the-ointment with 
>this
>
> >scheme is LogLog. If there is a problem with log4j such that it cannot 
>log
> >for some reason, then log4j internals use LogLog to attempt to print an
> >error message. This obviously leads to an infinite recursion. Has anyone
> >else been bothered by this? Would it make sense to add interface to 
>LogLog
> >which would set the PrintStream it uses to log its error messages to?
> >
> >thanks for any ideas
> >
> >joe
>
>I hope to see you at my ApacheCon 2001 presentation
>entitled "Log4j, A Logging Package for Java".
>
>See http://ApacheCon.Com/2001/US/ for more details.
>
>----
>Ceki Gülcü          Web:   http://qos.ch
>av. de Rumine 5     email: [EMAIL PROTECTED] (preferred)
>CH-1005 Lausanne           [EMAIL PROTECTED]
>Switzerland         Tel: ++41 21 351 23 15
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to