diff --git a/lib/scrolls/log.rb b/lib/scrolls/log.rb
index <HASH>..<HASH> 100644
--- a/lib/scrolls/log.rb
+++ b/lib/scrolls/log.rb
@@ -245,13 +245,7 @@ module Scrolls
     def write(data)
       if log_level_ok?(data[:level])
         msg = unparse(data)
-        mtx.synchronize do
-          begin
-            stream.puts(msg)
-          rescue NoMethodError => e
-            raise
-          end
-        end
+        stream.print(msg + "\n")
       end
     end
print is atomic instead of mutex so it works in threaded environs