Stopping WEBrick from logging

Hi all,

I'm doing some local timing of some network code, and I'm using WEBrick::HTTPProxyServer to mock out the actual network access to reduce some of the variability.

What I'd like to do is stop the access logging from happening. That is, I don't want the access logs to fill up stdout or stderr, because they're used in my code and I want its output to stay clean. I also don't want the logs going to a string or array in memory, because it'll fill up and make everything swap endlessly. Ideally, I want the access logging to just not happen, and I just can't see how to do that.

Any ideas?

···

--
Alex

Could you redirect to a StringIO pointed at /dev/null? Without looking
at the WEBrick API, I wouldn't know right off how to change the
destination of the logging messages. That's the best I can help you
for now.

M.T.

Alex Young wrote:

Hi all,

I'm doing some local timing of some network code, and I'm using WEBrick::HTTPProxyServer to mock out the actual network access to reduce some of the variability.

What I'd like to do is stop the access logging from happening. That is, I don't want the access logs to fill up stdout or stderr, because they're used in my code and I want its output to stay clean. I also don't want the logs going to a string or array in memory, because it'll fill up and make everything swap endlessly. Ideally, I want the access logging to just not happen, and I just can't see how to do that.

Any ideas?

Ah. It would seem I should read a few more of the docs before posting.

Apparently doing this:

def access_log(*args); end

in the server class does the trick.

Not exactly intuitive, though...

···

--
Alex

in your HTTPServer (or any descendant of GenericServer) write

       logger.level = 0

you can do it from the outside as well.

your_server.logger.level = 0

For more details read the sources :wink:

J.

···

On 8/8/06, Alex Young <alex@blackkettle.org> wrote:

Hi all,

I'm doing some local timing of some network code, and I'm using
WEBrick::HTTPProxyServer to mock out the actual network access to reduce
some of the variability.

What I'd like to do is stop the access logging from happening. That is,
I don't want the access logs to fill up stdout or stderr, because
they're used in my code and I want its output to stay clean. I also
don't want the logs going to a string or array in memory, because it'll
fill up and make everything swap endlessly. Ideally, I want the access
logging to just not happen, and I just can't see how to do that.

Any ideas?

Matt Todd wrote:

Could you redirect to a StringIO pointed at /dev/null? Without looking
at the WEBrick API, I wouldn't know right off how to change the
destination of the logging messages. That's the best I can help you
for now.

M.T.

Thanks... I might try that next time. For now I'm overriding HTTPProxyServer#access_log.

···

--
Alex