perldoc > Mail::Reporter

๐Ÿ“› NAME

Mail::Reporter - base-class and error reporter for Mail::Box

๐Ÿš€ Quick Reference

Use CaseCommandDescription
Set log level$obj->log('ERRORS')๐Ÿ”‡ Change the logging threshold
Get current log level$obj->log๐Ÿ“Š Returns dualvar (numeric + string)
Set trace level$obj->trace('DEBUG')๐Ÿ–จ๏ธ Enable direct warn output
Get all errors$obj->errors๐Ÿšจ Shorthand for report('ERRORS')
Get all warnings$obj->warningsโš ๏ธ Shorthand for report('WARNINGS')
Log a custom message$obj->log(WARNING => 'msg')๐Ÿ“ Store or print a problem
Retrieve stored reports$obj->report('PROGRESS')๐Ÿ“‹ Get messages of a specific level
Change global defaultsMail::Reporter->defaultTrace('NOTICES')๐ŸŒ Set log+ trace level for all new objects
Install a callbackMail::Reporter->defaultTrace($level, \&func)๐Ÿ“ž All warnings are passed to your function
Merge reports from another object$obj->addReport($other)๐Ÿ”— Combine error logs
Get all reports from hierarchy$obj->reportAll๐ŸŒณ Fetch messages from all maintained objects
Convert level string to numericMail::Reporter->logPriority('WARNINGS')๐Ÿ”ข Get dualvar for comparisons

๐Ÿงฌ INHERITANCE

Mail::Reporter is extended by

๐Ÿ“‹ SYNOPSIS

$folder->log(WARNING => 'go away');
print $folder->trace;        # current level
$folder->trace('PROGRESS');  # set level
print $folder->errors;
print $folder->report('PROGRESS');

๐Ÿ“˜ DESCRIPTION

The Mail::Reporter class is the base class for all classes, except Mail::Message::Field::Fast because it would become slow... This base class is used during initiation of the objects, and for configuring and logging error messages.

๐Ÿ› ๏ธ METHODS

The Mail::Reporter class is the base for nearly all other objects. It can store and report problems, and contains the general constructor new().

๐Ÿ—๏ธ Constructors

โš ๏ธ Error handling

๐Ÿ“ Example: setting loglevels

my ($loglevel, $tracelevel) = Mail::Reporter->defaultTrace;
Mail::Reporter->defaultTrace('NOTICES');

my ($l, $t) = Mail::Reporter->defaultTrace('WARNINGS', 'DEBUG');
print $l;     # prints "WARNING"  (no S!)
print $l+0;   # prints "4"
print "Auch" if $l >= $self->logPriority('ERROR');

Mail::Reporter->defaultTrace('NONE');  # silence all reports

$folder->defaultTrace('DEBUG');   # Still set as global default!
$folder->trace('DEBUG');          # local default

๐Ÿ“ Example: installing a callback

Mail::Reporter->defaultTrace

๐Ÿ“ Example:

print $message->log;      # may print "NOTICE"
print $message->log +0;   # may print "3"
$message->log('ERRORS');  # sets a new level, returns the numeric value

$message->log(WARNING => "This message is too large.");
$folder ->log(NOTICE  => "Cannot read from file $filename.");
$manager->log(DEBUG   => "Hi there!", reverse sort @l);

Mail::Message->log(ERROR => 'Unknown');

๐Ÿ“ Example:

my $r = Mail::Reporter->logPriority('WARNINGS');
my $r = Mail::Reporter->logPriority('WARNING');    # same
my $r = Mail::Reporter->logPriority(4);            # same, deprecated
print $r;      # prints 'WARNING'  (no S!)
print $r + 0;  # prints 4
if($r < Mail::Reporter->logPriority('ERROR')) {..} # true

๐Ÿ“ Example:

$head->new($folder->logSettings);

๐Ÿ“ Example:

my @warns = $message->report('WARNINGS');
  # previous indirectly callable with
  my @warns = $msg->warnings;

print $folder->report('ERRORS');

if($folder->report('DEBUG')) {...}

my @reports = $folder->report;
foreach (@reports) {
   my ($level, $text) = @$_;
   print "$level report: $text";
}

๐Ÿ“ Example:

my $folder = Mail::Box::Manager->new->open(folder => 'inbox');
my @reports = $folder->reportAll;
foreach (@reports) {
   my ($object, $level, $text) = @$_;

   if($object->isa('Mail::Box')) {
      print "Folder $object: $level: $message";
   } elsif($object->isa('Mail::Message') {
      print "Message ".$object->seqnr.": $level: $message";
   }
}

๐Ÿงน Cleanup

๐Ÿฉบ DIAGNOSTICS

Error: Package $package does not implement $method.
Fatal error: the specific package (or one of its superclasses) does not implement this method where it should. This message means that some other related classes do implement this method however the class at hand does not. Probably you should investigate this and probably inform the author of the package.

๐Ÿ“š SEE ALSO

This module is part of Mail-Message distribution version 3.012, built on February 11, 2022. Website: http://perl.overmeer.net/CPAN/

โš–๏ธ LICENSE

Copyrights 2001-2022 by [Mark Overmeer <markov AT cpan.org>]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/

Mail::Reporter
๐Ÿ“› NAME ๐Ÿš€ Quick Reference ๐Ÿงฌ INHERITANCE ๐Ÿ“‹ SYNOPSIS ๐Ÿ“˜ DESCRIPTION ๐Ÿ› ๏ธ METHODS
๐Ÿ—๏ธ Constructors โš ๏ธ Error handling ๐Ÿงน Cleanup
๐Ÿฉบ DIAGNOSTICS ๐Ÿ“š SEE ALSO โš–๏ธ LICENSE

Generated by phpman v4.9.29 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-21 00:08 @2600:1f28:365:80b0:d8a5:c3c6:bf94:28c0
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)
Valid XHTML 1.0 Transitional!Valid CSS!
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format

^_top_^