To keep memory use low, once a message gets above 64K, we start saving it in a 
temp file instead of in memory.   You can get the File object from the 
CachedOutputStream and access it directly for logging if you want.

Dan


On Friday 19 March 2010 8:14:15 pm Arik Gorelik wrote:
> Hello,
> 
> In my custom logging out interceptor I have the code in the onClose method
> (in the LoggingCallback member class):
> **
> *public* *void* onClose(CachedOutputStream cos) {
> 
> OutputStream os = cos.getOut();
> 
> *if* (os *instanceof* ByteArrayOutputStream) {
> // do the logging from "os"
> 
> Seems that when my data stream to log is more than 65kb
> the "os" instance is of type BufferedOutputStream, but when "os" contains
> less
> than 65kb of data, it is of type "LoadingByteArrayOutputStream" which
> executes my
> custom code inside the if condition.
> 
> I am guessing since I am on the 32-bit machine, that is why...
> Arik.
> 
> On Fri, Mar 19, 2010 at 1:28 PM, Arik Gorelik <[email protected]> wrote:
> > Hello,
> > 
> > I am using a custom version of the LoggerOutInterceptor (wrote my own
> > Interceptor to log response) and I am seeing a strange behavior where
> > certain large response do not get logged properly. Is there a reason for
> > that?
> > 
> > Arik.

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to