class Log::Simple
A simple implementation of Log.
has Positional @!outputs
An array of hashes. Each has must have a handle key, with an IO::Handle to print messages to. A level key with an integer to signify a Log::Level is also required.
has Supplier $!messages
A supplier to emit messages to.
has Bool $.hostname
When enabled, include hostname in the log message. This can be useful when running the application redundantly in a cluster with centralized logging.
multi method emergency
multi method emergency(
Str:D $message
) returns Mu
Send an emergency message.
class Str:D $message
The message to print.
multi method emergency
multi method emergency(
Str:D $format,
*@args
) returns Mu
Send a formatted emergency message.
A printf-style format string.
class *@args
Arguments to substitute into the format string placeholders.
multi method alert
multi method alert(
Str:D $message
) returns Mu
Send an alert message.
class Str:D $message
The message to print.
multi method alert
multi method alert(
Str:D $format,
*@args
) returns Mu
Send a formatted alert message.
A printf-style format string.
class *@args
Arguments to substitute into the format string placeholders.
multi method critical
multi method critical(
Str:D $message
) returns Mu
Send a critical message.
class Str:D $message
The message to print.
multi method critical
multi method critical(
Str:D $format,
*@args
) returns Mu
Send a formatted critical message.
A printf-style format string.
class *@args
Arguments to substitute into the format string placeholders.
multi method error
multi method error(
Str:D $message
) returns Mu
Send an error message.
class Str:D $message
The message to print.
multi method error
multi method error(
Str:D $format,
*@args
) returns Mu
Send a formatted error message.
A printf-style format string.
class *@args
Arguments to substitute into the format string placeholders.
multi method warning
multi method warning(
Str:D $message
) returns Mu
Send a warning message.
class Str:D $message
The message to print.
multi method warning
multi method warning(
Str:D $format,
*@args
) returns Mu
Send a formatted warning message.
A printf-style format string.
class *@args
Arguments to substitute into the format string placeholders.
multi method notice
multi method notice(
Str:D $message
) returns Mu
Send a notice message. This is the "normal" level to publish log entries on.
class Str:D $message
The message to print.
multi method notice
multi method notice(
Str:D $format,
*@args
) returns Mu
Send a formatted notice message. This is the "normal" level to publish log entries on.
A printf-style format string.
class *@args
Arguments to substitute into the format string placeholders.
multi method info
multi method info(
Str:D $message
) returns Mu
Send an informational message.
class Str:D $message
The message to print.
multi method info
multi method info(
Str:D $format,
*@args
) returns Mu
Send a formatted informational message.
The printf-style format string.
class *@args
Arguments to substitute into the format string placeholders.
multi method debug
multi method debug(
Str:D $message
) returns Mu
Send a debug message.
class Str:D $message
The message to print.
multi method debug
multi method debug(
Str:D $format,
*@args
) returns Mu
Send a formatted debug message.
A printf-style format string.
class *@args
Arguments to substitute into the format string placeholders.
multi method add-output
multi method add-output(
IO::Handle:D $handle,
$level where { ... },
Callable :$filter
) returns Mu
Add an output to the logger.
class IO::Handle:D $handle
The IO::Handle to write log messages to.
class $level where { ... }
The log level for this particular stream.
class Callable :$filter
A filter function to apply to any messages sent to the output.
method callee
method callee(
Int:D $depth = 3
) returns Str
Convenience method to get the callee name. This is the package name if one exists, or the source file name.
class Int:D $depth = 3
The depth of which to get the callframe.
method message
method message(
Str:D $level,
Str:D $message
) returns Str
Convenience method for formatting the message as desired.
class Str:D $level
A human readable identifier for the level.
class Str:D $message
The original message to be logged.
NAME
Log::Simple
VERSION
0.1.1
AUTHOR
Patrick Spek p.spek@tyil.nl
LICENSE
Copyright © 2020
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.