Stop permanently enabling autoflush on the debug filehandle
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / Statistics.pm
index eb536cd..1ee5299 100644 (file)
@@ -3,7 +3,6 @@ use strict;
 use warnings;
 
 use base qw/DBIx::Class/;
-use IO::File;
 use namespace::clean;
 
 __PACKAGE__->mk_group_accessors(simple => qw/callback _debugfh silence/);
@@ -61,14 +60,13 @@ sub debugfh {
     my $debug_env = $ENV{DBIX_CLASS_STORAGE_DBI_DEBUG}
                   || $ENV{DBIC_TRACE};
     if (defined($debug_env) && ($debug_env =~ /=(.+)$/)) {
-      $fh = IO::File->new($1, 'a')
-        or die("Cannot open trace file $1");
+      open ($fh, '>>', $1)
+        or die("Cannot open trace file $1: $!");
     } else {
-      $fh = IO::File->new('>&STDERR')
-        or die('Duplication of STDERR for debug output failed (perhaps your STDERR is closed?)');
+      open ($fh, '>&STDERR')
+        or die("Duplication of STDERR for debug output failed (perhaps your STDERR is closed?): $!");
     }
 
-    $fh->autoflush();
     $self->_debugfh($fh);
   }
 
@@ -86,7 +84,7 @@ sub print {
 
   return if $self->silence;
 
-  $self->debugfh->print($msg);
+  $self->debugfh->printflush($msg);
 }
 
 =head2 silence
@@ -202,12 +200,12 @@ sub query_end {
 
 1;
 
-=head1 AUTHORS
+=head1 AUTHOR AND CONTRIBUTORS
 
-Cory G. Watson <gphat@cpan.org>
+See L<AUTHOR|DBIx::Class/AUTHOR> and L<CONTRIBUTORS|DBIx::Class/CONTRIBUTORS> in DBIx::Class
 
 =head1 LICENSE
 
-You may distribute this code under the same license as Perl itself.
+You may distribute this code under the same terms as Perl itself.
 
 =cut