Author: timbo
Date: Mon Jun 16 07:56:22 2008
New Revision: 11425

Modified:
   dbi/trunk/Changes
   dbi/trunk/lib/DBI/Gofer/Transport/Base.pm

Log:
Gofer transport trace changes:
Trace messages have 'gofer ' prefix.
Trace level 1 shows one-line outline of request and responses (much more 
compact then before).
Trace level 2 & 3 shows short summary, and level >=4 do full dump.


Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes   (original)
+++ dbi/trunk/Changes   Mon Jun 16 07:56:22 2008
@@ -66,11 +66,13 @@
   Fixed DBI::PurePerl neat() to behave more like XS neat().
 
   Clarified docs re ":N" style placeholders.
+  Changed the format of the key used for $h->{CachedKids}
+    (which is undocumented so you shouldn't depend on it anyway)
   Increased timeout on tests to accomodate very slow systems.
+  Improved gofer trace output in assorted ways.
+
   Removed the beeps "\a" from Makefile.PL warnings.
   Removed check for PlRPC-modules from Makefile.PL
-  Changed the format of the key used for $h->{CachedKids}
-    (which is undocumented so you shouldn't depend on it anyway)
 
   Added sorting of ParamValues reported by ShowErrorStatement
     thanks to to Rudolf Lippan.

Modified: dbi/trunk/lib/DBI/Gofer/Transport/Base.pm
==============================================================================
--- dbi/trunk/lib/DBI/Gofer/Transport/Base.pm   (original)
+++ dbi/trunk/lib/DBI/Gofer/Transport/Base.pm   Mon Jun 16 07:56:22 2008
@@ -116,7 +116,9 @@
     # don't dump the binary
     local $data->{meta}{frozen} if $data->{meta} && $data->{meta}{frozen};
 
-    if ($self->trace >= 2) {
+    my $trace_level = $self->trace;
+    my $summary;
+    if ($trace_level >= 4) {
         require Data::Dumper;
         local $Data::Dumper::Indent    = 1;
         local $Data::Dumper::Terse     = 1;
@@ -125,12 +127,15 @@
         local $Data::Dumper::Quotekeys = 0;
         local $Data::Dumper::Deparse   = 0;
         local $Data::Dumper::Purity    = 0;
-        $self->trace_msg("$label: ".Data::Dumper::Dumper($data));
+        $summary = Data::Dumper::Dumper($data);
+    }
+    elsif ($trace_level >= 2) {
+        $summary = eval { $data->summary_as_text } || $@ || "no summary 
available\n";
     }
     else {
-        my $summary = eval { $data->summary_as_text } || $@ || "no summary 
available\n";
-        $self->trace_msg("$label: $summary");
+        $summary = eval { $data->outline_as_text."\n" } || $@ || "no summary 
available\n";
     }
+    $self->trace_msg("$label: $summary");
 }
 
 
@@ -139,7 +144,7 @@
     $min_level = 1 unless defined $min_level;
     # transport trace level can override DBI's trace level
     $min_level = 0 if $self->trace >= $min_level;
-    return DBI->trace_msg($msg, $min_level);
+    return DBI->trace_msg("gofer ".$msg, $min_level);
 }
 
 1;

Reply via email to