feat: allow enable/disable an existing logger file handler
This commit is contained in:
parent
3cf18a293d
commit
4bc8f0d44b
|
@ -544,6 +544,7 @@ log {
|
||||||
##----------------------------------------------------------------
|
##----------------------------------------------------------------
|
||||||
## file_handlers.<name>
|
## file_handlers.<name>
|
||||||
file_handlers.default {
|
file_handlers.default {
|
||||||
|
enable = true
|
||||||
## The log level filter of this handler
|
## The log level filter of this handler
|
||||||
## All the log messages with levels lower than this level will
|
## All the log messages with levels lower than this level will
|
||||||
## be dropped.
|
## be dropped.
|
||||||
|
|
|
@ -586,11 +586,7 @@ fields("log") ->
|
||||||
];
|
];
|
||||||
|
|
||||||
fields("console_handler") ->
|
fields("console_handler") ->
|
||||||
[ {"enable",
|
log_handler_common_confs();
|
||||||
sc(boolean(),
|
|
||||||
#{ default => false
|
|
||||||
})}
|
|
||||||
] ++ log_handler_common_confs();
|
|
||||||
|
|
||||||
fields("log_file_handler") ->
|
fields("log_file_handler") ->
|
||||||
[ {"file",
|
[ {"file",
|
||||||
|
@ -704,13 +700,21 @@ tr_cluster_discovery(Conf) ->
|
||||||
tr_logger_level(Conf) ->
|
tr_logger_level(Conf) ->
|
||||||
ConsoleLevel = conf_get("log.console_handler.level", Conf, undefined),
|
ConsoleLevel = conf_get("log.console_handler.level", Conf, undefined),
|
||||||
FileLevels = [conf_get("level", SubConf) || {_, SubConf}
|
FileLevels = [conf_get("level", SubConf) || {_, SubConf}
|
||||||
<- maps:to_list(conf_get("log.file_handlers", Conf, #{}))],
|
<- logger_file_handlers(Conf)],
|
||||||
case FileLevels ++ [ConsoleLevel || ConsoleLevel =/= undefined] of
|
case FileLevels ++ [ConsoleLevel || ConsoleLevel =/= undefined] of
|
||||||
[] -> warning; %% warning is the default level we should use
|
[] -> warning; %% warning is the default level we should use
|
||||||
Levels ->
|
Levels ->
|
||||||
least_severe_log_level(Levels)
|
least_severe_log_level(Levels)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
logger_file_handlers(Conf) ->
|
||||||
|
Handlers = maps:to_list(conf_get("log.file_handlers", Conf, #{})),
|
||||||
|
lists:filter(fun({_Name, Opts}) ->
|
||||||
|
B = conf_get("enable", Opts),
|
||||||
|
true = is_boolean(B),
|
||||||
|
B
|
||||||
|
end, Handlers).
|
||||||
|
|
||||||
tr_logger(Conf) ->
|
tr_logger(Conf) ->
|
||||||
%% For the default logger that outputs to console
|
%% For the default logger that outputs to console
|
||||||
ConsoleHandler =
|
ConsoleHandler =
|
||||||
|
@ -743,12 +747,15 @@ tr_logger(Conf) ->
|
||||||
filters => log_filter(SubConf),
|
filters => log_filter(SubConf),
|
||||||
filesync_repeat_interval => no_repeat
|
filesync_repeat_interval => no_repeat
|
||||||
}}
|
}}
|
||||||
end || {HandlerName, SubConf} <- maps:to_list(conf_get("log.file_handlers", Conf, #{}))],
|
end || {HandlerName, SubConf} <- logger_file_handlers(Conf)],
|
||||||
|
|
||||||
[{handler, default, undefined}] ++ ConsoleHandler ++ FileHandlers.
|
[{handler, default, undefined}] ++ ConsoleHandler ++ FileHandlers.
|
||||||
|
|
||||||
log_handler_common_confs() ->
|
log_handler_common_confs() ->
|
||||||
[ {"level",
|
[ {"enable",
|
||||||
|
sc(boolean(),
|
||||||
|
#{ default => false
|
||||||
|
})}
|
||||||
|
, {"level",
|
||||||
sc(log_level(),
|
sc(log_level(),
|
||||||
#{ default => warning
|
#{ default => warning
|
||||||
, desc => "Global log level. This includes the primary log level "
|
, desc => "Global log level. This includes the primary log level "
|
||||||
|
|
Loading…
Reference in New Issue