[Bio] / FigKernelPackages / Tracer.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/Tracer.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.123, Thu Jul 9 20:45:13 2009 UTC revision 1.128, Wed Dec 16 20:57:35 2009 UTC
# Line 1062  Line 1062 
1062    
1063  =head3 ETracing  =head3 ETracing
1064    
1065      ETracing($parameter);      ETracing($parameter, %options);
1066    
1067  Set up emergency tracing. Emergency tracing is tracing that is turned  Set up emergency tracing. Emergency tracing is tracing that is turned
1068  on automatically for any program that calls this method. The emergency  on automatically for any program that calls this method. The emergency
# Line 1083  Line 1083 
1083  is a CGI object and emergency tracing is not on, the C<Trace> and  is a CGI object and emergency tracing is not on, the C<Trace> and
1084  C<TF> parameters will be used to determine the type of tracing.  C<TF> parameters will be used to determine the type of tracing.
1085    
1086    =item options
1087    
1088    Hash of options. The permissible options are given below.
1089    
1090    =over 8
1091    
1092    =item destType
1093    
1094    Emergency tracing destination type to use if no tracing file is found. The
1095    default is C<WARN>.
1096    
1097    =item noParms
1098    
1099    If TRUE, then display of the saved CGI parms is suppressed. The default is FALSE.
1100    
1101    =item level
1102    
1103    The trace level to use if no tracing file is found. The default is C<0>.
1104    
1105  =back  =back
1106    
1107  =cut  =cut
1108    
1109  sub ETracing {  sub ETracing {
1110      # Get the parameter.      # Get the parameter.
1111      my ($parameter) = @_;      my ($parameter, %options) = @_;
1112      # Check for CGI mode.      # Check for CGI mode.
1113      if (defined $parameter && ref $parameter eq 'CGI') {      if (defined $parameter && ref $parameter eq 'CGI') {
1114          $SavedCGI = $parameter;          $SavedCGI = $parameter;
1115      } else {      } else {
1116          $SavedCGI = undef;          $SavedCGI = undef;
1117      }      }
1118      # Default to no tracing except errors.      # Check for the noParms option.
1119      my ($tracing, $dest) = ("0", "WARN");      my $noParms = $options{noParms} || 0;
1120        # Get the default tracing information.
1121        my $tracing = $options{level} || 0;
1122        my $dest = $options{destType} || "WARN";
1123      # Check for emergency tracing.      # Check for emergency tracing.
1124      my $tkey = EmergencyKey($parameter);      my $tkey = EmergencyKey($parameter);
1125      my $emergencyFile = EmergencyFileName($tkey);      my $emergencyFile = EmergencyFileName($tkey);
# Line 1119  Line 1141 
1141              # the trace level;              # the trace level;
1142              $dest = shift @tracing;              $dest = shift @tracing;
1143              my $level = shift @tracing;              my $level = shift @tracing;
             # Convert the destination to a real tracing destination.  
             # temp directory.  
             $dest = EmergencyTracingDest($tkey, $dest);  
1144              # Insure Tracer is specified.              # Insure Tracer is specified.
1145              my %moduleHash = map { $_ => 1 } @tracing;              my %moduleHash = map { $_ => 1 } @tracing;
1146              $moduleHash{Tracer} = 1;              $moduleHash{Tracer} = 1;
1147              # Set the trace parameter.              # Set the trace parameter.
1148              $tracing = join(" ", $level, sort keys %moduleHash);              $tracing = join(" ", $level, sort keys %moduleHash);
1149          }          }
     } elsif (defined $SavedCGI) {  
         # There's no emergency tracing, but we have a CGI object, so check  
         # for tracing from the form parameters.  
         if ($SavedCGI->param('Trace')) {  
             # Here the user has requested tracing via a form.  
             $dest = ($SavedCGI->param('TF') ? ">$FIG_Config::temp/Trace$$.log" : "QUEUE");  
             $tracing = $SavedCGI->param('Trace') . " Tracer";  
         }  
1150      }      }
1151        # Convert the destination to a real tracing destination.
1152        $dest = EmergencyTracingDest($tkey, $dest);
1153      # Setup the tracing we've determined from all the stuff above.      # Setup the tracing we've determined from all the stuff above.
1154      TSetup($tracing, $dest);      TSetup($tracing, $dest);
1155      # Check to see if we're a web script.      # Check to see if we're a web script.
1156      if (defined $SavedCGI) {      if (defined $SavedCGI) {
1157          # Yes we are. Trace the form and environment data.          # Yes we are. Trace the form and environment data if it's not suppressed.
1158            if (! $noParms) {
1159          TraceParms($SavedCGI);          TraceParms($SavedCGI);
1160            }
1161          # Check for RAW mode. In raw mode, we print a fake header so that we see everything          # Check for RAW mode. In raw mode, we print a fake header so that we see everything
1162          # emitted by the script in its raw form.          # emitted by the script in its raw form.
1163          if (T(Raw => 3)) {          if (T(Raw => 3)) {
# Line 1333  Line 1348 
1348      # Declare the return variable.      # Declare the return variable.
1349      my $retVal;      my $retVal;
1350      # Determine the parameter type.      # Determine the parameter type.
1351      if (! defined $parameter || defined($ENV{TRACING})) {      if (! defined $parameter) {
1352          # Here we're supposed to check the environment. If that fails, we          # Here we're supposed to check the environment. If that fails, we
1353          # get the effective login ID.          # get the effective login ID.
1354          $retVal = $ENV{TRACING} || scalar getpwuid($<);          $retVal = $ENV{TRACING} || scalar getpwuid($<);

Legend:
Removed from v.1.123  
changed lines
  Added in v.1.128

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3