Loading ...
Sorry, an error occurred while loading the content.

1435upgrade to 0.55 == messed up logging

Expand Messages
  • pcg4242
    Apr 22, 2002
    • 0 Attachment
      I upgraded our servers to 0.55 from 0.5[01] late last week. After I
      did so, some server-side logging seemingly broke. The CGI code:

      --- code ---
      use SOAP::Lite +trace =>
      result =>
      sub {
      print STDERR join('|',$$,(scalar localtime),$ENV
      {'REMOTE_ADDR'},'result',@_), "\n";
      #for (sort keys %ENV) { print STDERR "\t$_: $ENV{$_}\n" }
      parameters =>
      sub {
      my ($act) = ($ENV{'HTTP_SOAPACTION'} =~ m!#([^\"]+)!);
      print STDERR join('|',$$,(scalar localtime),$ENV
      {'REMOTE_ADDR'},'parameters',$act,@_), "\n";

      Before the upgrade (with 0.50), I saw the following in the Apache
      error log (which is where STDERR goes):

      --- before ---
      26706|Wed Apr 10 18:48:47 2002||parameters|alive

      26706|Wed Apr 10 18:48:48 2002||result|online

      26713|Wed Apr 10 18:48:49 2002||parameters|get_name|-

      26713|Wed Apr 10 18:48:50
      2002||result|NAME||139970||abc123|Mr. Foo Bar|Bar|Mr.
      Foo Bar|123 Main Street|Anywhere, CA 90210|||

      (I've added an extra "\n" after each individual line for
      readability.) That told me exactly what I wanted: what was called,
      and what the result was, in a very nice (for my programmers) format.

      NOW, with 0.55, I get wacky stuff:

      --- after ---
      4206|Mon Apr 22 18:00:05

      4206|Mon Apr 22 18:00:05 2002||parameters|alive|1

      SOAP::Server::handle: online

      4265|Mon Apr 22 18:00:08

      4265|Mon Apr 22 18:00:08 2002||parameters|get_name|1

      SOAP::Server::handle: NAME 139970 abc123 Mr. Foo Bar Bar Mr. Bar
      90210 pcg-test1@... 0 Mr. Foo Bar 123 Main Street Anywh
      ere, CA 90210

      What in the world is this?! It looks like @_ only EVER contains
      [ 'SOAP::Lite' ] (verified with Data::Dumper). Why is
      SOAP::Server::handle logging, and not through my defined function?
      Why is 'parameters' (defined after 'result') getting stuck on to the
      end of my 'result' debugging msgs, i.e.:


      and '1' getting stuck on to the end of my 'parameters' debugging
      msgs, i.e.:


      ?! I'm sure I'm doing something wrong in the first place, but this
      *was* working with 0.50, and I just want to get it working again with

      Thanks for the help,

    • Show all 3 messages in this topic