diff options
author | Eric Wong <normalperson@yhbt.net> | 2012-11-02 20:09:28 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2012-11-02 20:09:28 -0700 |
commit | aaf1279e3e73e301b8f65b651933ebe287b82b4d (patch) | |
tree | af080b511188bb86869a107831b350deafc2b71a /lib/clogger/pure.rb | |
parent | 4bcd56a4f02b8a167d28505182cc6ff723fb027c (diff) | |
download | clogger-aaf1279e3e73e301b8f65b651933ebe287b82b4d.tar.gz |
avoid calling "<<" on env["rack.errors"]
Rack::Lint::ErrorWrapper forbids the "<<" method. This fallback only comes into play when no log destination (via :logger or :path) is specified and is rarely an issue in real setups.
Diffstat (limited to 'lib/clogger/pure.rb')
-rw-r--r-- | lib/clogger/pure.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/clogger/pure.rb b/lib/clogger/pure.rb index 24392e7..44f4e62 100644 --- a/lib/clogger/pure.rb +++ b/lib/clogger/pure.rb @@ -161,7 +161,7 @@ private end def log(env, status, headers) - (@logger || env['rack.errors']) << @fmt_ops.map { |op| + str = @fmt_ops.map { |op| case op[0] when OP_LITERAL; op[1] when OP_REQUEST; byte_xs(env[op[1]] || "-") @@ -182,5 +182,13 @@ private raise "EDOOFUS #{op.inspect}" end }.join('') + + l = @logger + if l + l << str + else + env['rack.errors'].write(str) + end + nil end end |