Package org.somda.sdc.dpws
Class CommunicationLogImpl
java.lang.Object
org.somda.sdc.dpws.CommunicationLogImpl
- All Implemented Interfaces:
CommunicationLog
Default implementation of CommunicationLog.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.somda.sdc.dpws.CommunicationLog
CommunicationLog.Direction, CommunicationLog.MessageType, CommunicationLog.TransportType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlogMessage(CommunicationLog.Direction direction, CommunicationLog.TransportType transportType, CommunicationLog.MessageType messageType, CommunicationContext communicationContext) Creates an OutputStream to write the log message into.logMessage(CommunicationLog.Direction direction, CommunicationLog.TransportType transportType, CommunicationLog.MessageType messageType, CommunicationContext communicationContext, InputStream message) Logs a message based on an InputStream.org.apache.commons.io.output.TeeOutputStreamlogMessage(CommunicationLog.Direction direction, CommunicationLog.TransportType transportType, CommunicationLog.MessageType messageType, CommunicationContext communicationContext, OutputStream message) Logs a message based on an OutputStream.
-
Constructor Details
-
CommunicationLogImpl
-
-
Method Details
-
logMessage
public org.apache.commons.io.output.TeeOutputStream logMessage(CommunicationLog.Direction direction, CommunicationLog.TransportType transportType, CommunicationLog.MessageType messageType, CommunicationContext communicationContext, OutputStream message) Description copied from interface:CommunicationLogLogs a message based on an OutputStream.It does not block i.e. it can return before data is written to the output.
- Specified by:
logMessagein interfaceCommunicationLog- Parameters:
direction- direction used for filename.transportType- the transport protocol used i.e. udp, http, etc.messageType- the type of the message i.e. request, response.communicationContext- communication information such as target address and portmessage- the output stream to branch to the log file.- Returns:
- an output stream, that streams to the original output stream and optionally streams to another stream similarly to the tee Unix command. The other stream can be a log file stream.
-
logMessage
public OutputStream logMessage(CommunicationLog.Direction direction, CommunicationLog.TransportType transportType, CommunicationLog.MessageType messageType, CommunicationContext communicationContext) Description copied from interface:CommunicationLogCreates an OutputStream to write the log message into.- Specified by:
logMessagein interfaceCommunicationLog- Parameters:
direction- direction used for filename.transportType- the transport protocol used i.e. udp, http, etc.messageType- the type of the message i.e. request, response.communicationContext- communication information such as target address and port.- Returns:
- an output stream to write the log message into.
-
logMessage
public InputStream logMessage(CommunicationLog.Direction direction, CommunicationLog.TransportType transportType, CommunicationLog.MessageType messageType, CommunicationContext communicationContext, InputStream message) Description copied from interface:CommunicationLogLogs a message based on an InputStream.It blocks until everything has been read.
- Specified by:
logMessagein interfaceCommunicationLog- Parameters:
direction- direction used for filename.transportType- the transport protocol used i.e. udp, http, etc.messageType- the type of the message i.e. request, response.communicationContext- communication information such as target address and portmessage- the message to log as input stream. As the input stream might be unusable after reading, another one is created to be used for further processing; see return value.- Returns:
- a new input stream that mirrors the data from the message input data.
-