about summary refs log tree commit homepage
path: root/ext/clogger_ext/clogger.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/clogger_ext/clogger.c')
-rw-r--r--ext/clogger_ext/clogger.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/clogger_ext/clogger.c b/ext/clogger_ext/clogger.c
index 857ed9a..04359f9 100644
--- a/ext/clogger_ext/clogger.c
+++ b/ext/clogger_ext/clogger.c
@@ -119,6 +119,7 @@ struct clogger {
         int reentrant; /* tri-state, -1:auto, 1/0 true/false */
 };
 
+static ID write_id;
 static ID ltlt_id;
 static ID call_id;
 static ID each_id;
@@ -687,9 +688,12 @@ static VALUE cwrite(struct clogger *c)
         } else {
                 VALUE logger = c->logger;
 
-                if (NIL_P(logger))
+                if (NIL_P(logger)) {
                         logger = rb_hash_aref(c->env, g_rack_errors);
-                rb_funcall(logger, ltlt_id, 1, dst);
+                        rb_funcall(logger, write_id, 1, dst);
+                } else {
+                        rb_funcall(logger, ltlt_id, 1, dst);
+                }
         }
 
         return Qnil;
@@ -1036,6 +1040,7 @@ void Init_clogger_ext(void)
 
         check_clock();
 
+        write_id = rb_intern("write");
         ltlt_id = rb_intern("<<");
         call_id = rb_intern("call");
         each_id = rb_intern("each");