summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2020-02-10 11:04:29 +0100
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2020-02-10 11:04:29 +0100
commit169eeeb426b1c71e5b4e81f8fa813cab9570247a (patch)
tree73ff650ce572c4581548ab1c126236cd7362b436
parent8b9b87ce1e1e7afafda319e91e88315bb031bd05 (diff)
downloadrabbitmq-server-git-169eeeb426b1c71e5b4e81f8fa813cab9570247a.tar.gz
rabbit_lager: Only use "\r\n" with the console backend
For the other backends, go back to "\n" only. This fixes an issue where the log file had a mix of "\n" and "\r\n" as newlines characters. This was visible through "^M" characters at the end of each line.
-rw-r--r--src/rabbit_lager.erl26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/rabbit_lager.erl b/src/rabbit_lager.erl
index a5c591b1ce..1ec47da12b 100644
--- a/src/rabbit_lager.erl
+++ b/src/rabbit_lager.erl
@@ -426,40 +426,42 @@ default_handler_config(lager_console_backend) ->
%% messages here.
DefaultConfigVal = debug,
[{level, DefaultConfigVal},
- {formatter_config, default_config_value(formatter_config)}];
+ {formatter_config, default_config_value({formatter_config, console})}];
default_handler_config(lager_exchange_backend) ->
%% The default log level is set to `debug` because the actual
%% filtering is made at the sink level. We want to accept all
%% messages here.
DefaultConfigVal = debug,
[{level, DefaultConfigVal},
- {formatter_config, default_config_value(formatter_config)}];
+ {formatter_config, default_config_value({formatter_config, exchange})}];
default_handler_config(lager_file_backend) ->
%% The default log level is set to `debug` because the actual
%% filtering is made at the sink level. We want to accept all
%% messages here.
DefaultConfigVal = debug,
[{level, DefaultConfigVal},
- {formatter_config, default_config_value(formatter_config)},
+ {formatter_config, default_config_value({formatter_config, file})},
{date, ""},
{size, 0}].
default_config_value(level) -> info;
-default_config_value(formatter_config) ->
+default_config_value({formatter_config, console}) ->
+ EOL = case application:get_env(lager, colored) of
+ {ok, true} -> "\e[0m\r\n";
+ _ -> "\r\n"
+ end,
+ [date, " ", time, " ", color, "[", severity, "] ",
+ {pid, ""},
+ " ", message, EOL];
+default_config_value({formatter_config, _}) ->
[date, " ", time, " ", color, "[", severity, "] ",
{pid, ""},
- " ", message, eol()].
+ " ", message, "\n"].
syslog_formatter_config() ->
[color, "[", severity, "] ",
{pid, ""},
- " ", message, eol()].
-
-eol() ->
- case application:get_env(lager, colored) of
- {ok, true} -> "\e[0m\r\n";
- _ -> "\r\n"
- end.
+ " ", message, "\n"].
prepare_rabbit_log_config() ->
%% If RABBIT_LOGS is not set, we should ignore it.