---
name: "Log::ger::Format::MultilevelLog"
section: "3pm"
platform: "linux"
package: "liblog-ger-perl"
version: "0.042-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Log::ger::Format::MultilevelLog"
---

# Log::ger::Format::MultilevelLog(3pm)

Create a log($LEVEL, ...) subroutine/method

## NAME

Log::ger::Format::MultilevelLog - Create a log($LEVEL, ...) subroutine/method

## VERSION

version 0.042

## SYNOPSIS

To use for the current package:

```
 use Log::ger::Format MultilevelLog => (
     # sub_name => 'log_it',    # optional, defaults to 'log'
     # method_name => 'log_it', # optional, defaults to 'log'
     # exclusive => 1,          # optional, defaults to 0
 );
 use Log::ger;
 log('warn', 'This is a warning');
 log('debug', 'This is a debug, data is %s', $data);
 log_warn "This is also a warning"; # still available, unless you set exclusive to 1
```

## DESCRIPTION

The Log::ger default is to create separate `"log_LEVEL"` subroutine (or `"LEVEL"` methods) for each level, e.g. `"log_trace"` subroutine (or `"trace"` method), `"log_warn"` (or `"warn"`), and so on. But sometimes you might want a log routine that takes `$level` as the first argument. That is, instead of:

```
 log_warn('blah ...');
```

or:

```
 $log->debug('Blah: %s', $data);
```

you prefer:

```
 log('warn', 'blah ...');
```

or:

```
 $log->log('debug', 'Blah: %s', $data);
```

This format plugin can create such log routine for you.

Note: the multilevel log is slightly slower because of the extra argument and additional string level -\> numeric level conversion. See benchmarks in Bencher::Scenarios::Log::ger.

Note: the individual separate `"log_LEVEL"` subroutines (or `"LEVEL"` methods) are still installed, unless you specify configuration "exclusive" to true.

## CONFIGURATION

### sub\_name

String. Defaults to `"log"`.

### method\_name

String. Defaults to `"log"`.

### exclusive

Boolean. If set to true, will block the generation of the default `"log_LEVEL"` subroutines or `"LEVEL"` methods (e.g. `"log_warn"`, `"trace"`, ...).

## SEE ALSO

Log::ger::Format::HashArgs

## AUTHOR

perlancar \<perlancar@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2023, 2022, 2020, 2019, 2018, 2017 by perlancar \<perlancar@cpan.org\>.

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