You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2001/12/22 12:29:29 UTC
cvs commit: jakarta-avalon-logkit/src/java/org/apache/log/output/net SocketOutputTarget.java
hammant 01/12/22 03:29:29
Added: src/java/org/apache/log/output/net SocketOutputTarget.java
Log:
Submission from Rajendra Ghorpade (RGhorpade@onebridge.de)
Revision Changes Path
1.1 jakarta-avalon-logkit/src/java/org/apache/log/output/net/SocketOutputTarget.java
Index: SocketOutputTarget.java
===================================================================
package org.apache.log.output.net;
import java.io.IOException;
import java.io.OutputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.apache.log.LogEvent;
import org.apache.log.output.AbstractOutputTarget;
/**
* SocketOutputTarget
*
* Useful for writing the output to a TCP/IP client socket.
*
* @author <a href="mailto:rghorpade@onebridge.de"> Rajendra Ghorpade </a>
* @version
*/
public class SocketOutputTarget extends AbstractOutputTarget
{
/** Socket to communicate with the server */
private Socket m_socket;
/** Output strem to write the log */
private ObjectOutputStream m_outputStream;
/**
* Creates output target with the end point specified by the address and port
*
* @param address end point address
* @param port the end point port
* @exception IOException if an I/O error ocurrs when creating socket
*/
public SocketOutputTarget( final InetAddress address,
final int port )
throws IOException
{
m_socket = new Socket( address, port );
m_outputStream = new ObjectOutputStream( m_socket.getOutputStream() );
super.open();
}
/**
* Creates the output target with the end point specified by host and port
*
* @param host end point host
* @param port the end point port
* @exception IOException if an I/O error ocurrs when creating socket
*/
public SocketOutputTarget( final String host,
final int port )
throws IOException
{
m_socket = new Socket( host, port );
m_outputStream = new ObjectOutputStream( m_socket.getOutputStream() );
super.open();
}
/**
* Writes the output as a LogEvent without formatting.
* Formatting ia applied on the server side where it is log.
*
* @param event the LogEvent
*/
protected void write( LogEvent event )
{
try
{
m_outputStream.writeObject( event );
}
catch( final IOException ioex )
{
getErrorHandler().error( "Error writting to socket", ioex, null );
}
}
/**
* To process the LogEvent
*
* @param event the LogEvent
*/
protected void doProcessEvent( LogEvent event )
{
write( event );
}
/**
* Shutdown target.
* Attempting to write to target after close() will cause errors to be logged.
*/
public synchronized void close()
{
super.close();
m_socket = null;
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>