NAME

Fault::DebugPrinter - A Debug print controller with levels.

SYNOPSIS

use Fault::DebugPrinter;
$class_object = Fault::DebugPrinter->new   ($level);
$class_object = $class_object->new         ($level);
$class_object = Fault::DebugPrinter->new;
$class_object = $class_object->new;
$didprint     = Fault::DebugPrinter->dbg1  ($msg);
$didprint     = $class_object->dbg1        ($msg);
$didprint     = Fault::DebugPrinter->dbg   ($level,$msg);
$didprint     = $class_object->dbg         ($level,$msg);
$curlvl       = Fault::DebugPrinter->level ($level);
$curlvl       = $class_object->level       ($level);
$curlvl       = Fault::DebugPrinter->level;
$curlvl       = $class_object->level;

Inheritance

UNIVERSAL

Description

This Class does not have instance objects, only a single 'Class Object'. It is always referenced under the Class name. It supplies a simple mechanism for run time selection of how much Diagnostic message detail will be displayed. By setting the level to zero, all Diagnostic printouts are disabled. It can be used either in a mode that emulates a simple enable/disable of diagnostics or with multiple levels with more and more detail printed at each higher level. It is entirely at the user's discretion.

Examples

use Fault::DebugPrinter;
my $classobj      = Fault::DebugPrinter->new (1);

my $didprint      = Fault::DebugPrinter->dbg1  ("This will print");
   $didprint      = Fault::DebugPrinter->dbg   (2, "This will not");

my $curlvl        = Fault::DebugPrinter->level;
   $curlvl        = $classobj->level           ($curlvl+1); 
   $didprint      = Fault::DebugPrinter->dbg   (2, "This will now");

   $classobj      = Fault::DebugPrinter->new;
   $didprint      = Fault::DebugPrinter->dbg1  ("This is Disabled.");
   $curlvl        = Fault::DebugPrinter->level (1);
   $didprint      = Fault::DebugPrinter->dbg1  ("This is Enabled.");

Class Variables

level        Highest level of Diagnostic message that will be printed.

Class Methods

$class_object = Fault::DebugPrinter->new ($level)
$class_object = $class_object->new ($level)
$class_object = Fault::DebugPrinter->new
$class_object = $class_object->new

Generate the DebugPrinter object if it doesn't already exist; otherwise just return the existing class object.

$level will turn diagnostic printing on for messages with a debug level above the specified it or off it is zero. If the argument is not present or undef the current level is set to zero so that, diagnostic printing is disabled.

$didprint = Fault::DebugPrinter->dbg1 ($msg)
$didprint = $class_object->dbg1 ($msg)

Single argument Diagnostic printer method. It prints $msg to stdout and returns true if the current debug level is greater than zero. If the $msg argument was missing or undef, it prints "<Null diagnostic message>" so you at least know it tried.

$didprint = Fault::DebugPrinter->dbg ($level,$msg)
$didprint = $class_object->dbg ($level,$msg)

Dual argument Diagnostic printer method. It prints $msg to stdout and returns true if the current debug level is greater than zero and at least equal to the integer value contained in $level. If the $level argument is missing or undef, it is defaulted to Level 1. If the $msg argument was missing or undef, it prints "<Null diagnostic message>" so you at least know it tried.

$curlvl = Fault::DebugPrinter->level ($level)
$curlvl = $class_object->level ($level)
$curlvl = Fault::DebugPrinter->level
$curlvl = $class_object->level

Set the current diagnostic level to $level. If the $level argument is missing or undef, the current level is unchanged. The no-argument format thus doubles as a 'read current diagnostic level' command.

Instance Methods

None

Private Class Methods

None.

Private Instance Methods

None.

Errors and Warnings

None.

KNOWN BUGS

See TODO.

SEE ALSO

None.

AUTHOR

Dale Amon <amon@vnl.com>

1 POD Error

The following errors were encountered while parsing the POD:

Around line 171:

=back doesn't take any parameters, but you said =back 4