1Test::Smoke::LogMixin(3U)ser Contributed Perl DocumentatiToenst::Smoke::LogMixin(3)
2
3
4
6 Test::Smoke::LogMixin - "Role" that adds logging methods to
7 "traditional" objects.
8
10 package MyPackage;
11 use warnings;
12 use strict;
13 use Test::Smoke::LogMixin;
14
15 sub new {
16 my $class = shift;
17 my %selfish = @_;
18 $selfish{_verbose} ||= 0;
19 return bless \%selfish, $class;
20 }
21 1;
22
23 package main;
24 use MyPackage;
25 my $o = MyPackage->new(_verbose => 2);
26 $o->log_debug("This will end up in the log");
27
29 This package with these mixin-methods acts like a role to extend your
30 traditional (created with bless()) object with 4 new methods. It has
31 some extra Test::Smoke::App::Base logic to determine the log-level (by
32 looking at "$app->option('verbose')"). For other object types it tries
33 to fiend if there are methods by the name "verbose" or "v", or maybe
34 the keys "_verbose" or "_v" (See also Test::Smoke::ObjectBase).
35
36 The three log methods use the sprintf() way of composing strings
37 whenever more than 1 argument is passed!
38
39 $app->verbosity
40 Return the verbosity of this app.
41
42 Arguments
43
44 None.
45
46 Returns
47
48 The value of either "_verbose" or "_v"
49
50 $app->log_warn($fmt, @values)
51 "prinf $fmt, @values" to the currently selected filehandle.
52
53 Arguments
54
55 Positional.
56
57 $fmt => a (s)printf format
58 The format gets an extra new line if one wasn't present.
59
60 @values => optional vaules for the template.
61
62 Returns
63
64 use in void context.
65
66 Exceptions
67
68 None.
69
70 $app->log_info($fmt, @values)
71 "prinf $fmt, @values" to the currently selected filehandle if the
72 'verbose' option is set.
73
74 Arguments
75
76 Positional.
77
78 $fmt => a (s)printf format
79 The format gets an extra new line if one wasn't present.
80
81 @values => optional vaules for the template.
82
83 Returns
84
85 use in void context.
86
87 Exceptions
88
89 None.
90
91 $app->log_debug($fmt, @values)
92 "prinf $fmt, @values" to the currently selected filehandle if the
93 'verbose' option is set to a value > 1.
94
95 Arguments
96
97 Positional.
98
99 $fmt => a (s)printf format
100 The format gets an extra new line if one wasn't present.
101
102 @values => optional vaules for the template.
103
104 Returns
105
106 use in void context.
107
108 Exceptions
109
110 None.
111
113 Test::Smoke::Logger - Helper object for logging.
114
116 use Test::Smoke::LogMixin;
117 my $logger = Test::Smoke::Logger->new(v => 1);
118 $logger->log_warn("Minimal log level"); # v >= 0
119 $logger->log_info("Medium log level"); # v <= 1
120 $logger->log_debug("High log level"); # v > 1
121
123 Test::Smoke::Logger->new(%arguments)
124 Return a logger instance.
125
126 Arguments
127
128 Named, hash:
129
130 v => <0|1|2>
131
132 Returns
133
134 The Test::Smoke::Logger instance.
135
137 (c) 2020, All rights reserved.
138
139 * Abe Timmerman <abeltje@cpan.org>
140
141 This library is free software; you can redistribute it and/or modify it
142 under the same terms as Perl itself.
143
144 See:
145
146 * <http://www.perl.com/perl/misc/Artistic.html>,
147 * <http://www.gnu.org/copyleft/gpl.html>
148
149 This program is distributed in the hope that it will be useful, but
150 WITHOUT ANY WARRANTY; without even the implied warranty of
151 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
152
153
154
155perl v5.38.0 2023-07-21 Test::Smoke::LogMixin(3)