The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Fault::Delegate::File - File logger delegate

SYNOPSIS

 use Fault::Delegate::File;
 $self = Fault::Delegate::File->new ($filepath);
 $okay = $self->log                 ($msg);

Inheritance

 UNIVERSAL
   Fault::Delegate
     Fault::Delegate::File

Description

This is a delegate that writes log messages to a specified file. The file must be writeable to the calling program.

Fault::Delegate::File satisfies the minimum requirements of the Fault::Delegate logger delegate protocol.

Examples

 use Fault::Delegate::File;
 use Fault::Logger;
 use Fault::Msg;

 my $msg       = Fault::Msg                 ("Arf!");
 my $baz       = Fault::Delegate::File->new ("/tmp/mylogfile");
 my $waslogged = $baz->log                  ($msg);

                 Fault::Logger->new         ($baz);
 my $waslogged = Fault::Logger->log         ("Bow! Wow!");

 [See Fault::Logger for a detailed example.]

Instance Variables

 filepath       Full path to the log file.
 init           True if the log file has been successfully opened at
                least once.
 fd             Transient storage for filehandle.

Class Methods

$delegate = Fault::Delegate::File->new ($filepath)

Create a logger delegate object that writes log messages to the designated file.

A warning is issued if there is no $filepath argument and in that case undef is returned to indicate that a delegate could not be created.

If the initialization message cannot be written a warning is issued and undef is returned.

Logger Protocol Instance Methods

$okay = $self->log ($msg)

Prints a time-stamped message to the associated log file using information taken from Fault::Msg object $msg:

       $date $time UTC> $processname: $type($priority): $msg\n

for example:

       20021207 223010 UTC> MyProcess: NOTE(notice): Nothing happened again.\n

and return true if we succeeded in doing so.

Private Class Methods

None.

Private Instance Methods

$bool = $self->_write ($msg)
$bool = $self->_connect
$bool = $self->_disconnect

Impliments the above overrides to the internal family protocol utilized by the Fault:Delegate log and test methods.

Errors and Warnings

Local warning messages are issued if the db file cannot be opened or has any problems whatever.

SEE ALSO

Fault::Logger, Fault::Delegate, Fault::Msg, Fault::ErrorHandler

AUTHOR

Dale Amon <amon@vnl.com>

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 154:

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

Around line 173:

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

Around line 192:

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