Rich, I extended PrintStream to accept a Logger and priority on the constructor. The write(String) and print(Object) methods are overriden to call log4j. All other methods are overriden to call one of those 2. I extended log4j configuration to accept a property, if set to true then:
System.setOut(new Log4JPrintStream(Logger.getLogger("System.Out"), Priority.NORMAL)); System.setErr(new Log4JPrintStream(Logger.getLogger("System.Err"), Priority.ERROR)); You'll need a "NullOutputStream" object to pass to the constructor of PrintStream during the super call in the Log4JPrintStream constructor. It overrides OutputStream methods with no-ops. This works for any appender and in your case will definitely roll when it should. Only drawbacks are formatting when making multiple calls to System.out and expecting it to be 1 message, but then again you probably have that issue now. Chris Rich Gibbs <rich.gibbs@enhan To: "Log4j-Dev (E-mail)" <[EMAIL PROTECTED]> siv.com> cc: Subject: Rolling appender, that contains standard err/out 12/04/2002 02:41 PM Please respond to "Log4J Developers List" Has anyone come across the need to be able to have the standard streams of stdout, and stderr go to a rolling logfile? I played with extending the rollinglog appender, and have a working version. I'm not completly happy in that it will only roll, when logging is done to a category, but the size is incremented for standard streams, so as long as atleast some of the logging goes to a category, the logs will roll properly, or atleast reasonably... -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>