./ct_report/coverage/mongoose_logs.COVER.html

1 -module(mongoose_logs).
2
3 -export([set_global_loglevel/1]).
4 -export([get_global_loglevel/0]).
5 -export([set_module_loglevel/2]).
6 -export([clear_module_loglevel/1]).
7 -export([get_log_files/0]).
8 -export([dir/0]).
9 -export([loglevel_keyword_to_number/1]).
10
11 -ignore_xref([clear_module_loglevel/1, set_module_loglevel/2]).
12
13 -type atom_log_level() :: none | logger:level() | all.
14 -type int_log_level() :: -1..8.
15 -type level() :: atom_log_level() | int_log_level().
16
17 %% Sets primary log level
18 -spec get_global_loglevel() -> atom_log_level().
19 get_global_loglevel() ->
20 23 maps:get(level, logger:get_primary_config()).
21
22 -spec set_global_loglevel(level()) ->
23 ok | {error, {invalid_level, term()}}.
24 set_global_loglevel(Level) when is_integer(Level) ->
25
:-(
set_global_loglevel(loglevel_number_to_keyword(Level));
26 set_global_loglevel(Level) ->
27 83 logger:update_primary_config(#{level => Level}).
28
29 -spec set_module_loglevel(module(), level()) ->
30 ok | {error, term()}.
31 set_module_loglevel(Module, Level) when is_integer(Level) ->
32
:-(
set_module_loglevel(Module, loglevel_number_to_keyword(Level));
33 set_module_loglevel(Module, Level) ->
34 42 logger:set_module_level(Module, Level).
35
36 -spec clear_module_loglevel(module()) -> ok | {error, term()}.
37 clear_module_loglevel(Module) ->
38 21 set_module_loglevel(Module, get_global_loglevel()).
39
40 -spec get_log_files() -> [filename:name()].
41 get_log_files() ->
42 183 [ File || #{config := #{file := File}} <- logger:get_handler_config() ].
43
44 -spec dir() -> string().
45 dir() ->
46 140 case logger:get_handler_config(disk_log) of
47 {ok, #{config := #{file := Path}}} ->
48 140 filename:dirname(Path);
49 _ ->
50
:-(
""
51 end.
52
53 -spec loglevel_number_to_keyword(int_log_level()) -> atom_log_level().
54
:-(
loglevel_number_to_keyword(-1) -> none;
55
:-(
loglevel_number_to_keyword(0) -> emergency;
56
:-(
loglevel_number_to_keyword(1) -> alert;
57
:-(
loglevel_number_to_keyword(2) -> critical;
58
:-(
loglevel_number_to_keyword(3) -> error;
59
:-(
loglevel_number_to_keyword(4) -> warning;
60
:-(
loglevel_number_to_keyword(5) -> notice;
61
:-(
loglevel_number_to_keyword(6) -> info;
62
:-(
loglevel_number_to_keyword(7) -> debug;
63
:-(
loglevel_number_to_keyword(8) -> all.
64
65 -spec loglevel_keyword_to_number(atom_log_level()) -> int_log_level().
66
:-(
loglevel_keyword_to_number(none) -> -1;
67
:-(
loglevel_keyword_to_number(emergency) -> 0;
68
:-(
loglevel_keyword_to_number(alert) -> 1;
69
:-(
loglevel_keyword_to_number(critical) -> 2;
70
:-(
loglevel_keyword_to_number(error) -> 3;
71 84 loglevel_keyword_to_number(warning) -> 4;
72
:-(
loglevel_keyword_to_number(notice) -> 5;
73
:-(
loglevel_keyword_to_number(info) -> 6;
74
:-(
loglevel_keyword_to_number(debug) -> 7;
75
:-(
loglevel_keyword_to_number(all) -> 8.
Line Hits Source