Rand Stats

Log::Simple

cpan:TYIL

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.

class Str:D $format

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.

class Str:D $format

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.

class Str:D $format

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.

class Str:D $format

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.

class Str:D $format

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.

class Str:D $format

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.

class Str:D $format

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.

class Str:D $format

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/.