Donna, Have you tried putting timing messages around the log4j calls? Since you can't reliably use log4j to print the messages :-), you should use System.out.println. Record the time before the call, record the time after the call, print out the difference. That might give an area within log4j to focus on (log file creation vs logging to file). I don't know how intrusive this is to your code.
You might also want to change the configuration to use the ConsoleAppender instead of a FileAppender to see if that makes any difference in performance. What version of log4j are you using? 1.1.3 or the 1.2rc1? -Mark > -----Original Message----- > From: Donna Awald [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, May 07, 2002 10:12 AM > To: '[EMAIL PROTECTED]' > Subject: Running log4j on a SuSE Linux/S390 System > > > We developed a Java application on the Intel platform and > incorporated the > use of log4j to create a debug file for us. We ported the > application over > to a SuSE V7 (kernal 2.4.7) Linux on IBM S/390 machine, and > it has severe > performance problems. On the Intel platform, when we turn > "debug" on, we do > not notice any performance degradation. The transactions run > is seconds. > When we port it over to run on the Linux/S390 platform, the > transactions run > in the equivalent time as the Intel with debug turned off. > But when it is > turned on (log4j creating the debug file), it takes about 2 > minutes to run. > The amount of data is writes is equivalent on both platforms, > about 900,000 > bytes. We have configured on both platforms Tomcat 4.0.3 > (transactions are > running through Tomcat). On the Intel we have Sun Java, and > on the IBM > platform we have IBMJava 1.3.1. > > I have several questions, first, have you heard of this > problem before? Is > there a solution to it. If you haven't heard of it before, is there > something in the log4j code that goes down to machine code > level that could > cause this degradation? > > I asked my developer exactly how he was using log4j, so that > may help you. > He said: > > I call the following methods of the Logger class in the order they are > listed: > > exists(String) > getLogger(String) > removeAllAppenders() > addAppender(FileAppender) > setLevel(int) > > All those occur at file creation time. The one that is > called all over the > place to actually write a record is: > > debug(String) > > Also, our pattern layout is: > > %C{1} %L %m%n > > > Any help you could give, would be greatly appreciated. > > Donna Awald > Director of Systems Architecture > Empagio > "Creating Harmony in Human Resources" > [EMAIL PROTECTED] > http://www.empagio.com > > (678) 931-3016 (office) > (678) 931-3001 (Fax) > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>