NAME
Log::Report::Util - helpful routines to Log::Report
INHERITANCE
Log::Report::Util
is a Exporter
SYNOPSIS
my
(
$language
,
$territory
,
$charset
,
$modifier
)
= parse_locale
'nl_BE.utf-8@home'
;
my
@take
= expand_reasons
'INFO-ERROR,PANIC'
;
DESCRIPTION
This module collects a few functions and definitions which are shared between different components in the Log::Report infrastructure. They should not be needed for end-user applications, although this man-page may contain some useful background information.
FUNCTIONS
Reasons
- expand_reasons($reasons)
-
Returns a sub-set of all existing message reason labels, based on the content $reasons string. The following rules apply:
REASONS = BLOCK [
','
BLOCKS ] | ARRAY-of-REASON
BLOCK =
'-'
TO | FROM
'-'
TO | ONE | SOURCE
FROM,TO,ONE =
'TRACE'
|
'ASSERT'
| ,,, |
'PANIC'
SOURCE =
'USER'
|
'PROGRAM'
|
'SYSTEM'
|
'FATAL'
|
'ALL'
|
'NONE'
The SOURCE specification group all reasons which are usually related to the problem: report about problems caused by the user, reported by the program, or with system interaction.
example: of expended REASONS
WARNING-FAULT
# == WARNING,MISTAKE,ERROR,FAULT
WARNING,INFO
# == WARNING,INFO
-INFO
# == TRACE-INFO
ALERT-
# == ALERT,FAILURE,PANIC
USER
# == MISTAKE,ERROR
ALL
# == TRACE-PANIC
FATAL
# == ERROR,FAULT,FAILURE,PANIC [1.07]
NONE
# ==
- is_fatal($reason)
-
Returns true if the $reason is severe enough to cause an exception (or program termination).
- is_reason($name)
-
Returns true if the STRING is one of the predefined REASONS.
- use_errno($reason)
Modes
Run-modes are explained in Log::Report::Dispatcher.
- mode_accepts($mode)
-
Returns something acceptable by expand_reasons()
- mode_number($name|$mode)
-
Returns the $mode as number.
- must_show_location($mode, $reason)
- must_show_stack($mode, $reason)
Other
- escape_chars(STRING)
-
Replace all escape characters into their readable counterpart. For instance, a new-line is replaced by backslash-n.
- parse_locale(STRING)
-
Decompose a locale string.
For simplicity of the caller's code, the capatization of the returned fields is standardized to the preferred, although the match is case- insensitive as required by the RFC. The territory in returned in capitals (ISO3166), the language is lower-case (ISO639), the script as upper-case first, the character-set as lower-case, and the modifier and variant unchanged.
In LIST context, four elements are returned: language, territory, character-set (codeset), and modifier. Those four are important for the usual unix translationg infrastructure. Only the "country" is obligatory, the others can be
undef
. It may also returnC
andPOSIX
.In SCALAR context, a HASH is returned which can contain more information: language, script, territory, variant, codeset, and modifiers. The variant (RFC3066 is probably never used)
- pkg2domain( $package, [$domain, $filename, $line] )
-
With $domain, $filename and $line, this registers a location where the textdomain is specified. Each $package can only belong to one $domain.
Without these parameters, the registered domain for the $package is returned.
- to_html($string)
-
[1.02] Escape HTML volatile characters.
- unescape_chars(STRING)
-
Replace all backslash-something escapes by their escape character. For instance, backslash-t is replaced by a tab character.
SEE ALSO
This module is part of Log-Report-Optional distribution version 1.07, built on January 15, 2021. Website: http://perl.overmeer.net/CPAN/
LICENSE
Copyrights 2013-2021 by [Mark Overmeer <mark@overmeer.net>]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/