From b7c6846e317b0f2bfe4807aab34524c2a633947c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 3 Sep 2009 09:20:42 -0700 Subject: Ensure underlying logger objects are sync=true Userspace buffering defaults are dangerous as the Ruby default IO objects do not do line-aware buffering. This makes the README examples with File.open much safer to use out-of-the-box for users of the pure-Ruby version. For users on the MRI C extension logging to regular files, this should not have any effect as we've optimized those to do unbuffered write(2) syscalls anyways. --- lib/clogger/pure.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/clogger/pure.rb') diff --git a/lib/clogger/pure.rb b/lib/clogger/pure.rb index d8752b3..57e727b 100644 --- a/lib/clogger/pure.rb +++ b/lib/clogger/pure.rb @@ -8,6 +8,7 @@ class Clogger def initialize(app, opts = {}) @app = app @logger = opts[:logger] + (@logger.sync = true) rescue nil @fmt_ops = compile_format(opts[:format] || Format::Common) @wrap_body = need_wrap_body?(@fmt_ops) @reentrant = nil -- cgit v1.2.3-24-ge0c7