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