Log::Fine::Levels::Java - Provides levels correlating to java.utils.logging


Log-Fine documentation Contained in the Log-Fine distribution.

Index


Code Index:

NAME

Top

Log::Fine::Levels::Java - Provides levels correlating to java.utils.logging

SYNOPSIS

Top

Defines log level values and masks correlating to those provided by java.utils.logging

    use Log::Fine;
    use Log::Fine::Levels::Java;

    # grab a logging object
    my $log = Log::Fine->getLogger("foo1");

    # Note that FINER and SEVERE are provided by the
    # Log::Fine::Levels::Java object
    $log->log(FINER, "I'm not mad at you, I'm mad at the dirt");
    $log->log(SEVERE, "No more wire hangers ... EVER!");

DESCRIPTION

Top

Log::Fine::Levels::Java provides logging and mask constants mimicking those provided by the java.utils.logging framework as provided by Java 1.5.0

Log Levels

Log::Fine::Levels::Java bases its log levels on those provided by java.util.logging.Levels. See http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/Level.html for further specifics.

* SEVERE
* WARNING
* INFO
* CONFIG
* FINE
* FINER
* FINEST

Log Masks

Log masks can be exported for use in setting up individual handles (see Log::Fine::Handle). The following masks are exported into the caller's namespace:

* LOGMASK_SEVERE
* LOGMASK_WARNING
* LOGMASK_INFO
* LOGMASK_CONFIG
* LOGMASK_FINE
* LOGMASK_FINER
* LOGMASK_FINEST

See Log::Fine::Handle for more information.

CONSTRUCTOR

Top

new

Returns a newly constructed object

BUGS

Top

Please report any bugs or feature requests to bug-log-fine at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Log-Fine. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Top

You can find documentation for this module with the perldoc command.

    perldoc Log::Fine::Levels::Java

You can also look for information at:

* AnnoCPAN: Annotated CPAN documentation

http://annocpan.org/dist/Log-Fine

* CPAN Ratings

http://cpanratings.perl.org/d/Log-Fine

* RT: CPAN's request tracker

http://rt.cpan.org/NoAuth/Bugs.html?Dist=Log-Fine

* Search CPAN

http://search.cpan.org/dist/Log-Fine

REVISION INFORMATION

Top

  $Id: f14739ff813ec7efd28abccc747f9a0e98290a5a $

AUTHOR

Top

Christopher M. Fuhrman, <cfuhrman at panix.com>

SEE ALSO

Top

perl, syslog, Log::Fine, Log::Fine::Levels, Sys::Java, http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/Level.html

COPYRIGHT & LICENSE

Top


Log-Fine documentation Contained in the Log-Fine distribution.
use strict;
use warnings;

package Log::Fine::Levels::Java;

use AutoLoader;
use Carp;
use Exporter;
use POSIX qw( strftime );

use base qw/ Log::Fine::Levels Exporter /;

our $VERSION = $Log::Fine::Levels::VERSION;

# Necessary for AutoLoader
our $AUTOLOAD;

# Default level-to-value hash
use constant LVLTOVAL_MAP => {
                               SEVERE  => 0,
                               WARNING => 1,
                               INFO    => 2,
                               CONFIG  => 3,
                               FINE    => 4,
                               FINER   => 5,
                               FINEST  => 6,
};          # LVLTOVAL_MAP{}

# Default value-to-level hash
use constant VALTOLVL_MAP => {
                               0 => "SEVERE",
                               1 => "WARNING",
                               2 => "INFO",
                               3 => "CONFIG",
                               4 => "FINE",
                               5 => "FINER",
                               6 => "FINEST",
};          # VALTOLVL_MAP{}

use constant MASK_MAP => {
                           LOGMASK_SEVERE  => 2 << LVLTOVAL_MAP->{SEVERE},
                           LOGMASK_WARNING => 2 << LVLTOVAL_MAP->{WARNING},
                           LOGMASK_INFO    => 2 << LVLTOVAL_MAP->{INFO},
                           LOGMASK_CONFIG  => 2 << LVLTOVAL_MAP->{CONFIG},
                           LOGMASK_FINE    => 2 << LVLTOVAL_MAP->{FINE},
                           LOGMASK_FINER   => 2 << LVLTOVAL_MAP->{FINER},
                           LOGMASK_FINEST  => 2 << LVLTOVAL_MAP->{FINEST},
};          # MASK_MAP{}

# --------------------------------------------------------------------

# grab appropriate refs
my $levels = LVLTOVAL_MAP;
my $masks  = MASK_MAP;

# Exported tags
our %EXPORT_TAGS = (macros => [ keys %{$levels} ],
                    masks  => [ keys %{$masks} ]);          # EXPORT_TAGS

# Exported macros
our @EXPORT    = (@{ $EXPORT_TAGS{macros} });
our @EXPORT_OK = (@{ $EXPORT_TAGS{masks} });

# functions okay to export
our %ok_fields = (%{$levels}, %{$masks});

# --------------------------------------------------------------------

sub new
{

        my $class = shift;
        return bless { levelclass => $class }, $class;

}          # new()

# Autoloader
# --------------------------------------------------------------------

sub AUTOLOAD
{

        # Get the method name
        my $name = $AUTOLOAD;

        # strip out package prefix
        $name =~ s/.*://;

        # Return on DESTROY
        return if $name eq 'DESTROY';

        # make sure we have a valid function
        croak(
               sprintf("[%s] {%s} FATAL : %s\n",
                       strftime("%c", localtime(time)),
                       $AUTOLOAD,
                       "Invalid function name : $name"
               )) unless (exists $ok_fields{$name});

        # evaluate and return the appropriate level
        eval "sub $name { return $ok_fields{$name} }";
        goto &$name;

}          # AUTOLOAD()

1;          # End of Log::Fine::Levels::Java

__END__