-
Notifications
You must be signed in to change notification settings - Fork 1
/
logbench.erl
113 lines (101 loc) · 2.61 KB
/
logbench.erl
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
-module(logbench).
-compile([{parse_transform, lager_transform}, export_all]).
el_console({Fmt, Args}) ->
{fun() -> ok end,
fun() -> error_logger:error_msg(Fmt, Args) end,
fun() -> _ = gen_event:which_handlers(error_logger) end
}.
sync_el_console({Fmt, Args}) ->
{fun() -> ok end,
fun() -> sync_error_logger:error_msg(Fmt, Args) end,
fun() -> ok end
}.
lager_console({Fmt, Args}) ->
{fun() ->
application:load(lager),
application:set_env(lager, handlers, [{lager_console_backend, info}]),
application:start(lager)
end,
fun() ->
lager:error(Fmt, Args)
end,
fun() -> ok end
}.
log4erl_console({Fmt, Args}) ->
{fun() ->
application:load(log4erl),
application:start(log4erl),
log4erl:add_console_appender(cmd_logs, {info, "%j %T [%L] %l%n"})
end,
fun() ->
log4erl:error(Fmt, Args)
end,
fun() -> ok end
}.
alog_console({Fmt, Args}) ->
{fun() ->
application:start(sasl),
application:start(alog),
ok = alog_control:delete_all_flows(),
ok = alog_control:add_new_flow({mod,['_']}, {'=<', debug}, [alog_tty])
end,
fun() ->
alog:error(Fmt, Args)
end,
fun() -> ok end
}.
el_file({Fmt, Args}) ->
{fun() ->
error_logger:tty(false),
ok = error_logger:logfile({open, "logs/el.log"})
end,
fun() -> error_logger:error_msg(Fmt, Args) end,
fun() -> _ = gen_event:which_handlers(error_logger) end
}.
sync_el_file({Fmt, Args}) ->
{fun() ->
error_logger:tty(false),
ok = error_logger:logfile({open, "logs/sync_el.log"})
end,
fun() -> sync_error_logger:error_msg(Fmt, Args) end,
fun() -> ok end
}.
lager_file({Fmt, Args}) ->
{fun() ->
application:load(lager),
application:set_env(lager, handlers, [{lager_file_backend, [{"logs/lager.log", info}]}]),
application:start(lager)
end,
fun() ->
lager:info(Fmt, Args)
end,
fun() -> ok end
}.
log4erl_file({Fmt, Args}) ->
{fun() ->
application:load(log4erl),
application:start(log4erl),
log4erl:add_file_appender(cmd_logs, {"logs", "log4erl", {time, 0}, 4, "log", info, "%j %T [%L] %l%n"})
end,
fun() ->
log4erl:error(Fmt, Args)
end,
fun() -> ok end
}.
alog_file({Fmt, Args}) ->
{fun() ->
application:start(sasl),
application:load(alog),
application:set_env(alog, enabled_loggers, [alog_disk_log]),
application:set_env(alog, alog_disk_log, [{name, alog_disk_log},
{file, "logs/alogger.log"},
{format, external}]),
application:start(alog),
ok = alog_control:delete_all_flows(),
ok = alog_control:add_new_flow({mod,['_']}, {'=<', debug}, [alog_disk_log])
end,
fun() ->
alog:error(Fmt, Args)
end,
fun() -> ok end
}.