/
070-dispatcher-file.t
72 lines (47 loc) · 1.58 KB
/
070-dispatcher-file.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!perl6
use v6;
use Test;
use Lumberjack;
my $file = $*CWD.child('test-log');
END {
$file.unlink;
}
Lumberjack.dispatchers.append: Lumberjack::Dispatcher::File.new(file => $file.Str);
class Banana does Lumberjack::Logger {
method do-debug() {
self.log-debug("debug message");
}
method do-trace() {
self.log-trace("trace message");
}
method do-info() {
self.log-info("info message");
}
method do-warn() {
self.log-warn("warn message");
}
method do-error() {
self.log-error("error message");
}
method do-fatal() {
self.log-fatal("fatal message");
}
}
Banana.log-level = Lumberjack::All;
my $banana = Banana.new;
lives-ok { $banana.do-trace }, "trace";
lives-ok { $banana.do-debug }, "debug";
lives-ok { $banana.do-info }, "info";
lives-ok { $banana.do-warn }, "warn";
lives-ok { $banana.do-error }, "error";
lives-ok { $banana.do-fatal }, "fatal";
my $fh = $file.open(:r);
my $content = $fh.slurp-rest;
like $content, /'[Trace] Banana do-trace : trace message'/, "got expected text for trace";
like $content, /'[Debug] Banana do-debug : debug message'/, "got expected text for debug";
like $content, /'[Info] Banana do-info : info message'/, "got expected text for info";
like $content, /'[Warn] Banana do-warn : warn message'/, "got expected text for warn";
like $content, /'[Error] Banana do-error : error message'/, "got expected text for error";
like $content, /'[Fatal] Banana do-fatal : fatal message'/, "got expected text for fatal";
done-testing;
# vim: expandtab shiftwidth=4 ft=perl6