You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-cvs@jakarta.apache.org by ob...@apache.org on 2002/05/25 14:38:03 UTC

cvs commit: jakarta-log4j/src/java/org/apache/log4j/chainsaw XMLFileHandler.java LoggingReceiver.java

oburn       02/05/25 05:38:03

  Modified:    src/java/org/apache/log4j/chainsaw XMLFileHandler.java
                        LoggingReceiver.java
  Log:
  PR: 9268
  Fixed the bug in the code that loads events from an XML file. The code now
  correctly handles multiple calls to characters(). Tested with Crimson and
  Xerces under JDK1.3.1 and JDK1.4.
  Also fixed Checkstyle errors.
  
  Revision  Changes    Path
  1.3       +19 -26    jakarta-log4j/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java
  
  Index: XMLFileHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLFileHandler.java	2 May 2002 11:25:49 -0000	1.2
  +++ XMLFileHandler.java	25 May 2002 12:38:02 -0000	1.3
  @@ -37,8 +37,6 @@
       private final MyTableModel mModel;
       /** the number of events in the document **/
       private int mNumEvents;
  -    /** the current element being parsed **/
  -    private String mCurrentElement;
   
       /** the time of the event **/
       private long mTimeStamp;
  @@ -56,7 +54,8 @@
       private String[] mThrowableStrRep;
       /** the location details for the event **/
       private String mLocationDetails;
  -
  +    /** buffer for collecting text **/
  +    private final StringBuffer mBuf = new StringBuffer();
   
       /**
        * Creates a new <code>XMLFileHandler</code> instance.
  @@ -76,21 +75,7 @@
   
       /** @see DefaultHandler **/
       public void characters(char[] aChars, int aStart, int aLength) {
  -        if (mCurrentElement == TAG_NDC) {
  -            mNDC = new String(aChars, aStart, aLength);
  -        } else if (mCurrentElement == TAG_MESSAGE) {
  -            mMessage = new String(aChars, aStart, aLength);
  -        } else if (mCurrentElement == TAG_THROWABLE) {
  -            final StringTokenizer st =
  -                new StringTokenizer(new String(aChars, aStart, aLength), "\t");
  -            mThrowableStrRep = new String[st.countTokens()];
  -            if (mThrowableStrRep.length > 0) {
  -                mThrowableStrRep[0] = st.nextToken();
  -                for (int i = 1; i < mThrowableStrRep.length; i++) {
  -                    mThrowableStrRep[i] = "\t" + st.nextToken();
  -                }
  -            }
  -        }
  +        mBuf.append(String.valueOf(aChars, aStart, aLength));
       }
   
       /** @see DefaultHandler **/
  @@ -101,8 +86,20 @@
           if (TAG_EVENT.equals(aQName)) {
               addEvent();
               resetData();
  -        } else if (mCurrentElement != TAG_EVENT) {
  -            mCurrentElement = TAG_EVENT; // hack - but only thing I care about
  +        } else if (TAG_NDC.equals(aQName)) {
  +            mNDC = mBuf.toString();
  +        } else if (TAG_MESSAGE.equals(aQName)) {
  +            mMessage = mBuf.toString();
  +        } else if (TAG_THROWABLE.equals(aQName)) {
  +            final StringTokenizer st =
  +                new StringTokenizer(mBuf.toString(), "\n\t");
  +            mThrowableStrRep = new String[st.countTokens()];
  +            if (mThrowableStrRep.length > 0) {
  +                mThrowableStrRep[0] = st.nextToken();
  +                for (int i = 1; i < mThrowableStrRep.length; i++) {
  +                    mThrowableStrRep[i] = "\t" + st.nextToken();
  +                }
  +            }
           }
       }
   
  @@ -112,6 +109,8 @@
                                String aQName,
                                Attributes aAtts)
       {
  +        mBuf.setLength(0);
  +
           if (TAG_EVENT.equals(aQName)) {
               mThreadName = aAtts.getValue("thread");
               mTimeStamp = Long.parseLong(aAtts.getValue("timestamp"));
  @@ -122,12 +121,6 @@
                   + aAtts.getValue("method")
                   + "(" + aAtts.getValue("file") + ":" + aAtts.getValue("line")
                   + ")";
  -        } else if (TAG_NDC.equals(aQName)) {
  -            mCurrentElement = TAG_NDC;
  -        } else if (TAG_MESSAGE.equals(aQName)) {
  -            mCurrentElement = TAG_MESSAGE;
  -        } else if (TAG_THROWABLE.equals(aQName)) {
  -            mCurrentElement = TAG_THROWABLE;
           }
       }
   
  
  
  
  1.3       +11 -11    jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggingReceiver.java
  
  Index: LoggingReceiver.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggingReceiver.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LoggingReceiver.java	9 May 2002 15:43:43 -0000	1.2
  +++ LoggingReceiver.java	25 May 2002 12:38:02 -0000	1.3
  @@ -23,7 +23,7 @@
    */
   class LoggingReceiver extends Thread {
       /** used to log messages **/
  -    private static final Logger logger = Logger.getLogger(LoggingReceiver.class);
  +    private static final Logger LOG = Logger.getLogger(LoggingReceiver.class);
   
       /**
        * Helper that actually processes a client connection. It receives events
  @@ -46,7 +46,7 @@
   
           /** loops getting the events **/
           public void run() {
  -            logger.debug("Starting to get data");
  +            LOG.debug("Starting to get data");
               try {
                   final ObjectInputStream ois =
                       new ObjectInputStream(mClient.getInputStream());
  @@ -55,19 +55,19 @@
                       mModel.addEvent(new EventDetails(event));
                   }
               } catch (EOFException e) {
  -                logger.info("Reached EOF, closing connection");
  +                LOG.info("Reached EOF, closing connection");
               } catch (SocketException e) {
  -                logger.info("Caught SocketException, closing connection");
  +                LOG.info("Caught SocketException, closing connection");
               } catch (IOException e) {
  -                logger.warn("Got IOException, closing connection", e);
  +                LOG.warn("Got IOException, closing connection", e);
               } catch (ClassNotFoundException e) {
  -                logger.warn("Got ClassNotFoundException, closing connection", e);
  +                LOG.warn("Got ClassNotFoundException, closing connection", e);
               }
   
               try {
                   mClient.close();
               } catch (IOException e) {
  -                logger.warn("Error closing connection", e);
  +                LOG.warn("Error closing connection", e);
               }
           }
       }
  @@ -93,19 +93,19 @@
   
       /** Listens for client connections **/
       public void run() {
  -        logger.info("Thread started");
  +        LOG.info("Thread started");
           try {
               while (true) {
  -                logger.debug("Waiting for a connection");
  +                LOG.debug("Waiting for a connection");
                   final Socket client = mSvrSock.accept();
  -                logger.debug("Got a connection from " +
  +                LOG.debug("Got a connection from " +
                             client.getInetAddress().getHostName());
                   final Thread t = new Thread(new Slurper(client));
                   t.setDaemon(true);
                   t.start();
               }
           } catch (IOException e) {
  -            logger.error("Error in accepting connections, stopping.", e);
  +            LOG.error("Error in accepting connections, stopping.", e);
           }
       }
   }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: Branches, was [cvs commit: jakarta-log4j/src/java/org/apache/log4j/chainsaw]

Posted by Oliver Burn <ol...@puppycrawl.com>.
Sorry about that. I have made the changes to v1_2-branch.

> -----Original Message-----
> From: Ceki Gulcu [mailto:ceki@qos.ch]
> Sent: Tuesday, 28 May 2002 02:53
> To: Log4J Developers List
> Subject: Branches, was [cvs commit:
> jakarta-log4j/src/java/org/apache/log4j/chainsaw]
> 
> 
> Oliver,
> 
> Many thanks for spontaneously taking care of this bug. I appreciate it
> very much.
> 
> One question though. Shouldn't you commit this fix to the 1.2 branch
> as the CVS trunk is for log4j 1.3 development only?
> 
> The command to access the v1_2-branch is:
> 
> cvs -d XYZ checkout -r v1_2-branch jakarta-log4j
> 
> where XYZ is the remote repository name, that is
> ":ext:ceki@cvs.apache.org:/home/cvs" for me.
> 
> Once you have checked out the 1.2 branch, you should find a file
> called BRANCHES with more detailed info on... branches.
> 
> Many thanks in advance, Ceki
> 
> ps: Please do not hesitate to contact me if you encounter any problems.
> 
> At 12:38 25.05.2002 +0000, oburn@apache.org wrote:
> >oburn       02/05/25 05:38:03
> >
> >   Modified:    src/java/org/apache/log4j/chainsaw XMLFileHandler.java
> >                         LoggingReceiver.java
> >   Log:
> >   PR: 9268
> >   Fixed the bug in the code that loads events from an XML file. The code now
> >   correctly handles multiple calls to characters(). Tested with Crimson and
> >   Xerces under JDK1.3.1 and JDK1.4.
> >   Also fixed Checkstyle errors.
> >
> >   Revision  Changes    Path
> >   1.3       +19 
> > -26    jakarta-log4j/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java
> >
> >   Index: XMLFileHandler.java
> >   ===================================================================
> >   RCS file: 
> > /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java,v
> >   retrieving revision 1.2
> >   retrieving revision 1.3
> >   diff -u -r1.2 -r1.3
> >   --- XMLFileHandler.java       2 May 2002 11:25:49 -0000       1.2
> >   +++ XMLFileHandler.java       25 May 2002 12:38:02 -0000      1.3
> >   @@ -37,8 +37,6 @@
> >        private final MyTableModel mModel;
> >        /** the number of events in the document **/
> >        private int mNumEvents;
> >   -    /** the current element being parsed **/
> >   -    private String mCurrentElement;
> 
> [snip]
> 
> 
> --
> Ceki
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Branches, was [cvs commit: jakarta-log4j/src/java/org/apache/log4j/chainsaw]

Posted by Ceki Gülcü <ce...@qos.ch>.
Oliver,

Many thanks for spontaneously taking care of this bug. I appreciate it
very much.

One question though. Shouldn't you commit this fix to the 1.2 branch
as the CVS trunk is for log4j 1.3 development only?

The command to access the v1_2-branch is:

cvs -d XYZ checkout -r v1_2-branch jakarta-log4j

where XYZ is the remote repository name, that is
":ext:ceki@cvs.apache.org:/home/cvs" for me.

Once you have checked out the 1.2 branch, you should find a file
called BRANCHES with more detailed info on... branches.

Many thanks in advance, Ceki

ps: Please do not hesitate to contact me if you encounter any problems.

At 12:38 25.05.2002 +0000, oburn@apache.org wrote:
>oburn       02/05/25 05:38:03
>
>   Modified:    src/java/org/apache/log4j/chainsaw XMLFileHandler.java
>                         LoggingReceiver.java
>   Log:
>   PR: 9268
>   Fixed the bug in the code that loads events from an XML file. The code now
>   correctly handles multiple calls to characters(). Tested with Crimson and
>   Xerces under JDK1.3.1 and JDK1.4.
>   Also fixed Checkstyle errors.
>
>   Revision  Changes    Path
>   1.3       +19 
> -26    jakarta-log4j/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java
>
>   Index: XMLFileHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- XMLFileHandler.java       2 May 2002 11:25:49 -0000       1.2
>   +++ XMLFileHandler.java       25 May 2002 12:38:02 -0000      1.3
>   @@ -37,8 +37,6 @@
>        private final MyTableModel mModel;
>        /** the number of events in the document **/
>        private int mNumEvents;
>   -    /** the current element being parsed **/
>   -    private String mCurrentElement;

[snip]


--
Ceki


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>