Log::Message::Simple(3) User Contributed Perl Documentation Log::Message::Simple(3)

# [NAME](#NAME)

Log::Message::Simple - Simplified interface to Log::Message

# [SYNOPSIS](#SYNOPSIS)

```
    use Log::Message::Simple qw[msg error debug
                                carp croak cluck confess];
    use Log::Message::Simple qw[:STD :CARP];
    ### standard reporting functionality
    msg(    "Connecting to database",           $verbose );
    error(  "Database connection failed: $@",   $verbose );
    debug(  "Connection arguments were: $args", $debug );
    ### standard carp functionality
    carp(   "Wrong arguments passed: @_" );
    croak(  "Fatal: wrong arguments passed: @_" );
    cluck(  "Wrong arguments passed -- including stacktrace: @_" );
    confess("Fatal: wrong arguments passed -- including stacktrace: @_" );
    ### retrieve individual message
    my @stack = Log::Message::Simple->stack;
    my @stack = Log::Message::Simple->flush;
    ### retrieve the entire stack in printable form
    my $msgs  = Log::Message::Simple->stack_as_string;
    my $trace = Log::Message::Simple->stack_as_string(1);
    ### redirect output
    local $Log::Message::Simple::MSG_FH     = \*STDERR;
    local $Log::Message::Simple::ERROR_FH   = \*STDERR;
    local $Log::Message::Simple::DEBUG_FH   = \*STDERR;
    ### force a stacktrace on error
    local $Log::Message::Simple::STACKTRACE_ON_ERROR = 1
```

# [DESCRIPTION](#DESCRIPTION)

This module provides standardized logging facilities using the "Log::Message" module.

# [FUNCTIONS](#FUNCTIONS)

## [msg("message string" \[,VERBOSE\])](#msg%28_message_string___,VERBOSE_%29)

Records a message on the stack, and prints it to "STDOUT" (or actually $MSG\_FH, see the "GLOBAL VARIABLES" section below), if the "VERBOSE" option is true. The "VERBOSE" option defaults to false.

Exported by default, or using the ":STD" tag.

## [debug("message string" \[,VERBOSE\])](#debug%28_message_string___,VERBOSE_%29)

Records a debug message on the stack, and prints it to "STDOUT" (or actually $DEBUG\_FH, see the "GLOBAL VARIABLES" section below), if the "VERBOSE" option is true. The "VERBOSE" option defaults to false.

Exported by default, or using the ":STD" tag.

## [error("error string" \[,VERBOSE\])](#error%28_error_string___,VERBOSE_%29)

Records an error on the stack, and prints it to "STDERR" (or actually $ERROR\_FH, see the "GLOBAL VARIABLES" sections below), if the "VERBOSE" option is true. The "VERBOSE" options defaults to true.

Exported by default, or using the ":STD" tag.

## **carp()**;

Provides functionality equal to Carp::carp() while still logging to the stack.

Exported by using the ":CARP" tag.

## **croak()**;

Provides functionality equal to Carp::croak() while still logging to the stack.

Exported by using the ":CARP" tag.

## **confess()**;

Provides functionality equal to Carp::confess() while still logging to the stack.

Exported by using the ":CARP" tag.

## **cluck()**;

Provides functionality equal to Carp::cluck() while still logging to the stack.

Exported by using the ":CARP" tag.

# [CLASS METHODS](#CLASS_METHODS)

## [Log::Message::Simple-&gt;**stack()**](#Log::Message::Simple)

Retrieves all the items on the stack. Since "Log::Message::Simple" is implemented using "Log::Message", consult its manpage for the function "retrieve" to see what is returned and how to use the items.

## [Log::Message::Simple-&gt;stack\_as\_string(\[TRACE\])](#Log::Message::Simple~2)

Returns the whole stack as a printable string. If the "TRACE" option is true all items are returned with "Carp::longmess" output, rather than just the message. "TRACE" defaults to false.

## [Log::Message::Simple-&gt;**flush()**](#Log::Message::Simple~3)

Removes all the items from the stack and returns them. Since "Log::Message::Simple" is implemented using "Log::Message", consult its manpage for the function "retrieve" to see what is returned and how to use the items.

# [GLOBAL VARIABLES](#GLOBAL_VARIABLES)

$ERROR\_FH

This is the filehandle all the messages sent to error() are being printed. This defaults to \*STDERR.

$MSG\_FH

This is the filehandle all the messages sent to msg() are being printed. This default to \*STDOUT.

$DEBUG\_FH

This is the filehandle all the messages sent to debug() are being printed. This default to \*STDOUT.

$STACKTRACE\_ON\_ERROR

If this option is set to "true", every call to error() will generate a stacktrace using Carp::shortmess(). Defaults to "false"

2026-08-31 perl v5.44.0

---

Document: Log::Message::Simple(3pm) from perl-log-message-simple 0.10-r2 (Chainguard OS)
Source: https://github.com/jib/log-message-simple
