Hello Ortwin and all,

I fixed this problem and found that maybe a bug in HttpClient.java

I fixed the logging problem using the following:

#set error for commons package:
log4j.category.org.apache.commons.httpclient=ERROR

this can only disable the logging for all package except HttpClient.class.


going to the source code, and found following in HttpClient.java

----------------------

private static final Log LOG=LogFactory.getLog(HttpClient.class)

-----------------------

that is why I can not disable the logging for HttpClient.wire

I am using following to disable org.apache.commons debugging:

----------------
log4j.category.org.apache.commons=ERROR, debug, metrics
log4j.category.httpclient=ERROR, debug, metrics
-----------------

this makes the log4j works for my program.

so, I 'd like to raise the the bug in HttpClient, the log object should use its package "org.apache.commons.httpclient.HttpClient", rather than "HttpClient"

many thanks!


Darren Jiang




Ortwin Glück wrote:



darren jiang wrote:

additional info:

1.  this is a standalone java program,

2. the script to launch the java process as follows:

---------------------

#!/bin/sh
CDS_HOME=/opt/cvm
CDS_RUNTIME=$CDS_HOME/deployment/cvm
echo "CDS_HOME =$CDS_HOME"
echo "CDS_RUNTIME=$CDS_RUNTIME"
#classpath for CDS_RUNTIME
CLASSPATH=../.:$CDS_HOME/enhancements/lib/commons-httpclient-2.0.jar:$CDS_RUNTIM


E/lib/struts-plus-apache-commons.jar:$CDS_RUNTIME/lib/log4j-1.2.8.jar:$CDS_RUNTI

ME/lib/cdslib/cdsapi.jar:$CDS_RUNTIME/lib/cdslib/foundation.jar:$CDS_RUNTIME/ser

vice/postpaidservice/lib/postpaidservice.jar:$CDS_HOME/enhancements/lib/infranet

/cdk.jar:$CDS_HOME/enhancements/lib/infranet/pcm.jar:$CDS_HOME/enhancements/lib/

infranet/pcmext.jar:$CDS_HOME/enhancements/enhancements.jar:$CDS_HOME/enhancemen

ts



The classpath contains Log4J. So Log4J will be used by commons-logging.


#classpath for deactive Account /cancel subscription
CLASSPATH=$CLASSPATH:$CDS_RUNTIME/lib/classes12.zip:$CDS_RUNTIME/lib/xerces.jar:


$CDS_RUNTIME/lib/xalan.jar
echo $CLASSPATH
$JAVA_HOME/bin/java -Djava.util.logging.config.file=/opt/cvm/enhancements/BatchL
og.properties -cp $CLASSPATH com.telstra.cvm.cancellation.BatchMain $1



The java.util.logging property will be ignored, since Log4J is preferred over JDK1.4 logging.


--------------------

3. in its classpath, it contains both httpclient-20.jar and struts-plus-apache-commons.jar


I think HttpClient is not shipped with Struts. No problem here.

4. I change the last line to be one of the following:


In which file? The default config file for Log4J is log4j.properties and is expected on the top level of the classpath. If you want to use a different filename or location you must configure Log4J manually from within your application.

      a) log4j.logger.org.apache.commons=ERROR

      b) log4j.category.org.apache.commons=ERROR

      c) log4j.logger.org.apache.commons.httpclient=ERROR

   NONE of them works!


ANYONE CAN THINK OF THE REASON?

many thanks!


Darren Jiang






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



Reply via email to