---
name: "Log::Log4perl::Level"
section: "3pm"
platform: "linux"
package: "perl-log-log4perl"
version: "1.58-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Log::Log4perl::Level"
---

# Log::Log4perl::Level(3pm)

Predefined log levels

## NAME

Log::Log4perl::Level - Predefined log levels

## SYNOPSIS

```
  use Log::Log4perl::Level;
  print $ERROR, "\n";
  # -- or --
  use Log::Log4perl qw(:levels);
  print $ERROR, "\n";
```

## DESCRIPTION

`"Log::Log4perl::Level"` simply exports a predefined set of *Log4perl* log levels into the caller's name space. It is used internally by  `"Log::Log4perl"`. The following scalars are defined:

```
    $OFF
    $FATAL
    $ERROR
    $WARN
    $INFO
    $DEBUG
    $TRACE
    $ALL
```

`"Log::Log4perl"` also exports these constants into the caller's namespace if you pull it in providing the `":levels"` tag:

```
    use Log::Log4perl qw(:levels);
```

This is the preferred way, there's usually no need to call  `"Log::Log4perl::Level"` explicitly.

The numerical values assigned to these constants are purely virtual, only used by Log::Log4perl internally and can change at any time, so please don't make any assumptions. You can test for numerical equality by directly comparing two level values, that's ok:

```
    if( get_logger()->level() == $DEBUG ) {
        print "The logger's level is DEBUG\n";
    }
```

But if you want to figure out which of two levels is more verbose, use Log4perl's own comparator:

```
    if( Log::Log4perl::Level::isGreaterOrEqual( $level1, $level2 ) ) {
        print Log::Log4perl::Level::to_level( $level1 ),
            " is equal or more verbose than ",
            Log::Log4perl::Level::to_level( $level2 ), "\n";
    }
```

If the caller wants to import level constants into a different namespace, it can be provided with the `"use"` command:

```
    use Log::Log4perl::Level qw(MyNameSpace);
```

After this `$MyNameSpace::ERROR`, `$MyNameSpace::INFO` etc.  will be defined accordingly.

### Numeric levels and Strings

Level variables like `$DEBUG` or `$WARN` have numeric values that are  internal to Log4perl. Transform them to strings that can be used in a Log4perl configuration file, use the c\<**to\_level()**\> function provided by Log::Log4perl::Level:

```
    use Log::Log4perl qw(:easy);
    use Log::Log4perl::Level;
        # prints "DEBUG"
    print Log::Log4perl::Level::to_level( $DEBUG ), "\n";
```

To perform the reverse transformation, which takes a string like "DEBUG" and converts it into a constant like `$DEBUG`, use the **to\_priority()** function:

```
    use Log::Log4perl qw(:easy);
    use Log::Log4perl::Level;
    my $numval = Log::Log4perl::Level::to_priority( "DEBUG" );
```

after which `$numval` could be used where a numerical value is required:

```
    Log::Log4perl->easy_init( $numval );
```

## LICENSE

Copyright 2002-2026 by Mike Schilli \<m@perlmeister.com\> and Kevin Goess \<cpan@goess.org\>.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
