package Cdk::Diag; @ISA = qw (Cdk); # # This creates a new Label object # sub getScreenRegList { my $type = shift; my %params = @_; my $self = {}; my $name = "${type}::new"; # Retain the type of the object. $self->{'Type'} = $type; # Set up the parameters passed in. my $mesg = Cdk::checkReq ($name, "Message", $params{'Message'}); # Call the thing. Cdk::Diag::DumpScreenRegList ($mesg); } # # This writes to the log file. # sub Log { my($mesgType, $widgetType, $mesg) = @_; # If the environment flag CDKDIAG is not set then get out. return if (! defined $ENV{'CDKDIAG'}); # Set up the local vars. my $filename = $ENV{'CDKLOGFILE'} || "cdkdiag.log"; my $date = qx (date); chomp $date; my $diagType = uc $ENV{'CDKDIAG'}; # Only write the output if the diagnostics tell us to. if ($diagType eq "ALL" || $diagType =~ uc $widgetType) { # Open the file open (XXX, ">>$filename"); select (XXX); $| = 1; print XXX "\n*** Diagnostic Start: Program=<$0> Time: <$date> ***\n" if ! $DIAGFLAG; # Check the message type. print XXX "$mesgType - ($widgetType) $mesg\n" if ($mesgType eq "Diag"); print XXX "$mesgType - ($widgetType) $mesg\n" if ($mesgType eq "Error"); close (XXX); $DIAGFLAG = 1; } } 1;