.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Log::Message::Simple 3" .TH Log::Message::Simple 3 2023-07-26 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Log::Message::Simple \- Simplified interface to Log::Message .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 2 \& 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 = \e*STDERR; \& local $Log::Message::Simple::ERROR_FH = \e*STDERR; \& local $Log::Message::Simple::DEBUG_FH = \e*STDERR; \& \& ### force a stacktrace on error \& local $Log::Message::Simple::STACKTRACE_ON_ERROR = 1 .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" This module provides standardized logging facilities using the \&\f(CW\*(C`Log::Message\*(C'\fR module. .SH FUNCTIONS .IX Header "FUNCTIONS" .SS "msg(""message string"" [,VERBOSE])" .IX Subsection "msg(""message string"" [,VERBOSE])" Records a message on the stack, and prints it to \f(CW\*(C`STDOUT\*(C'\fR (or actually \&\f(CW$MSG_FH\fR, see the \f(CW\*(C`GLOBAL VARIABLES\*(C'\fR section below), if the \&\f(CW\*(C`VERBOSE\*(C'\fR option is true. The \f(CW\*(C`VERBOSE\*(C'\fR option defaults to false. .PP Exported by default, or using the \f(CW\*(C`:STD\*(C'\fR tag. .SS "debug(""message string"" [,VERBOSE])" .IX Subsection "debug(""message string"" [,VERBOSE])" Records a debug message on the stack, and prints it to \f(CW\*(C`STDOUT\*(C'\fR (or actually \f(CW$DEBUG_FH\fR, see the \f(CW\*(C`GLOBAL VARIABLES\*(C'\fR section below), if the \f(CW\*(C`VERBOSE\*(C'\fR option is true. The \f(CW\*(C`VERBOSE\*(C'\fR option defaults to false. .PP Exported by default, or using the \f(CW\*(C`:STD\*(C'\fR tag. .SS "error(""error string"" [,VERBOSE])" .IX Subsection "error(""error string"" [,VERBOSE])" Records an error on the stack, and prints it to \f(CW\*(C`STDERR\*(C'\fR (or actually \&\f(CW$ERROR_FH\fR, see the \f(CW\*(C`GLOBAL VARIABLES\*(C'\fR sections below), if the \&\f(CW\*(C`VERBOSE\*(C'\fR option is true. The \f(CW\*(C`VERBOSE\*(C'\fR options defaults to true. .PP Exported by default, or using the \f(CW\*(C`:STD\*(C'\fR tag. .SS \fBcarp()\fP; .IX Subsection "carp();" Provides functionality equal to \f(CWCarp::carp()\fR while still logging to the stack. .PP Exported by using the \f(CW\*(C`:CARP\*(C'\fR tag. .SS \fBcroak()\fP; .IX Subsection "croak();" Provides functionality equal to \f(CWCarp::croak()\fR while still logging to the stack. .PP Exported by using the \f(CW\*(C`:CARP\*(C'\fR tag. .SS \fBconfess()\fP; .IX Subsection "confess();" Provides functionality equal to \f(CWCarp::confess()\fR while still logging to the stack. .PP Exported by using the \f(CW\*(C`:CARP\*(C'\fR tag. .SS \fBcluck()\fP; .IX Subsection "cluck();" Provides functionality equal to \f(CWCarp::cluck()\fR while still logging to the stack. .PP Exported by using the \f(CW\*(C`:CARP\*(C'\fR tag. .SH "CLASS METHODS" .IX Header "CLASS METHODS" .SS Log::Message::Simple\->\fBstack()\fP .IX Subsection "Log::Message::Simple->stack()" Retrieves all the items on the stack. Since \f(CW\*(C`Log::Message::Simple\*(C'\fR is implemented using \f(CW\*(C`Log::Message\*(C'\fR, consult its manpage for the function \f(CW\*(C`retrieve\*(C'\fR to see what is returned and how to use the items. .SS Log::Message::Simple\->stack_as_string([TRACE]) .IX Subsection "Log::Message::Simple->stack_as_string([TRACE])" Returns the whole stack as a printable string. If the \f(CW\*(C`TRACE\*(C'\fR option is true all items are returned with \f(CW\*(C`Carp::longmess\*(C'\fR output, rather than just the message. \&\f(CW\*(C`TRACE\*(C'\fR defaults to false. .SS Log::Message::Simple\->\fBflush()\fP .IX Subsection "Log::Message::Simple->flush()" Removes all the items from the stack and returns them. Since \&\f(CW\*(C`Log::Message::Simple\*(C'\fR is implemented using \f(CW\*(C`Log::Message\*(C'\fR, consult its manpage for the function \f(CW\*(C`retrieve\*(C'\fR to see what is returned and how to use the items. .SH "GLOBAL VARIABLES" .IX Header "GLOBAL VARIABLES" .ie n .IP $ERROR_FH 4 .el .IP \f(CW$ERROR_FH\fR 4 .IX Item "$ERROR_FH" This is the filehandle all the messages sent to \f(CWerror()\fR are being printed. This defaults to \f(CW*STDERR\fR. .ie n .IP $MSG_FH 4 .el .IP \f(CW$MSG_FH\fR 4 .IX Item "$MSG_FH" This is the filehandle all the messages sent to \f(CWmsg()\fR are being printed. This default to \f(CW*STDOUT\fR. .ie n .IP $DEBUG_FH 4 .el .IP \f(CW$DEBUG_FH\fR 4 .IX Item "$DEBUG_FH" This is the filehandle all the messages sent to \f(CWdebug()\fR are being printed. This default to \f(CW*STDOUT\fR. .ie n .IP $STACKTRACE_ON_ERROR 4 .el .IP \f(CW$STACKTRACE_ON_ERROR\fR 4 .IX Item "$STACKTRACE_ON_ERROR" If this option is set to \f(CW\*(C`true\*(C'\fR, every call to \f(CWerror()\fR will generate a stacktrace using \f(CWCarp::shortmess()\fR. Defaults to \f(CW\*(C`false\*(C'\fR