Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

SocketHandler / BufferedReader question

 
J. Ryan
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm writing a simple client/server application that will make use of logging over a network. My client sends LogRecord objects to a SocketHandler which sends XML data to the server. For some reason when I read the data on the server I'm not getting the closing tag for the root element, </log>.

I'm basing my code on this example posted on Sun's website. Running their code will demonstrate the problem. I duplicated their code below...

Client


Server


Is there something I'm missing here? Thanks.
 
Nitesh Kant
Bartender
Posts: 1638
IntelliJ IDE Java MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The problem is that the element </log> is the tail of the log message according to the XmlFormatter.
The message tail is appended only when you close the handler.
Since, you have programatically added the handler to the logger, you need to close it programatically. So, if you add handler.close() as the last statement in your client, you will get the end element also.
The other option is to specify the handler in the logging.properties file. If you do this the handler will automatically be close when VM exits.
 
J. Ryan
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you. That fixed it!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic