aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src/error_logger_file_h.erl
diff options
context:
space:
mode:
authorSiri Hansen <[email protected]>2017-09-07 16:16:01 +0200
committerSiri Hansen <[email protected]>2017-09-07 16:16:01 +0200
commitb569db7fd80de6f6f049797fa7676bdfbe55cc4f (patch)
treeff24ace33a45b2dc75f9d955a88bc92fdc2f2acc /lib/stdlib/src/error_logger_file_h.erl
parent8e3baffd206247d3023c3e00d4d0849c23f3fc58 (diff)
parent87fa9801618397087d6a7b521e370506c5bfff91 (diff)
downloadotp-b569db7fd80de6f6f049797fa7676bdfbe55cc4f.tar.gz
otp-b569db7fd80de6f6f049797fa7676bdfbe55cc4f.tar.bz2
otp-b569db7fd80de6f6f049797fa7676bdfbe55cc4f.zip
Merge branch 'siri/unicode-merge' into maint
* siri/unicode-merge: (28 commits) stdlib: use 'unicode' option for regexp in ets ct: use 'unicode' option for regexps syntax_tools: add 'unicode' option to re:run for matching paths kernel: update simple error logger to print Unicode strings stdlib: add Unicode translation modifier in error_logger_tty_h wx: add Unicode translation modifier to wx_object stdlib: add Unicode translation modifier in debug format funs sasl: set encoding of SASL report log stdlib: use Unicode translation modifier in error_logger_file_h observer: Improve handling of Unicode mnesia: Improve handling of Unicode stdlib : Improve handling of Unicode kernel: Improve handling of Unicode hipe: Improve handling of Unicode edoc: Improve handling of Unicode syntax_tools: Improve handling of Unicode dialyzer: Improve handling of Unicode et: Improve handling of Unicode xref: Improve handling of Unicode fprof: Modify handling of Unicode eprof: Improve handling of Unicode eunit: Improve handling of Unicode stdlib: Improve handling of Unicode in escript stdlib: Improve handling of Unicode in edlin_expand stdlib: Modify handling of Unicode in proc_lib sasl: Improve handling of Unicode edoc: Improve handling of Unicode debugger: Improve handling of Unicode OTP-14462 OTP-14464
Diffstat (limited to 'lib/stdlib/src/error_logger_file_h.erl')
-rw-r--r--lib/stdlib/src/error_logger_file_h.erl36
1 files changed, 9 insertions, 27 deletions
diff --git a/lib/stdlib/src/error_logger_file_h.erl b/lib/stdlib/src/error_logger_file_h.erl
index b7c193f965..58da0cbdd6 100644
--- a/lib/stdlib/src/error_logger_file_h.erl
+++ b/lib/stdlib/src/error_logger_file_h.erl
@@ -126,7 +126,7 @@ format_body(State, [{Format,Args}|T]) ->
S0
catch
_:_ ->
- format(State, "ERROR: ~p - ~p\n", [Format,Args])
+ format(State, "ERROR: ~tp - ~tp\n", [Format,Args])
end,
[S|format_body(State, T)];
format_body(_State, []) ->
@@ -165,44 +165,26 @@ parse_event({warning_report, _GL, {Pid, std_warning, Args}}) ->
parse_event(_) -> ignore.
format_term(Term) when is_list(Term) ->
- case string_p(Term) of
+ case string_p(lists:flatten(Term)) of
true ->
- [{"~s\n",[Term]}];
+ [{"~ts\n",[Term]}];
false ->
format_term_list(Term)
end;
format_term(Term) ->
- [{"~p\n",[Term]}].
+ [{"~tp\n",[Term]}].
format_term_list([{Tag,Data}|T]) ->
- [{" ~p: ~p\n",[Tag,Data]}|format_term_list(T)];
+ [{" ~tp: ~tp\n",[Tag,Data]}|format_term_list(T)];
format_term_list([Data|T]) ->
- [{" ~p\n",[Data]}|format_term_list(T)];
+ [{" ~tp\n",[Data]}|format_term_list(T)];
format_term_list([]) ->
- [];
-format_term_list(_) ->
- %% Continue to allow non-proper lists for now.
- %% FIXME: Remove this clause in OTP 19.
[].
string_p([]) ->
false;
-string_p(Term) ->
- string_p1(Term).
-
-string_p1([H|T]) when is_integer(H), H >= $\s, H < 255 ->
- string_p1(T);
-string_p1([$\n|T]) -> string_p1(T);
-string_p1([$\r|T]) -> string_p1(T);
-string_p1([$\t|T]) -> string_p1(T);
-string_p1([$\v|T]) -> string_p1(T);
-string_p1([$\b|T]) -> string_p1(T);
-string_p1([$\f|T]) -> string_p1(T);
-string_p1([$\e|T]) -> string_p1(T);
-string_p1([H|T]) when is_list(H) ->
- string_p1(H) andalso string_p1(T);
-string_p1([]) -> true;
-string_p1(_) -> false.
+string_p(FlatList) ->
+ io_lib:printable_list(FlatList).
get_utc_config() ->
%% SASL utc_log configuration overrides stdlib config
@@ -225,7 +207,7 @@ header(Time, Title) ->
end.
header({{Y,Mo,D},{H,Mi,S}}, Title, UTC) ->
- io_lib:format("~n=~s==== ~p-~s-~p::~s:~s:~s ~s===~n",
+ io_lib:format("~n=~ts==== ~p-~s-~p::~s:~s:~s ~s===~n",
[Title,D,month(Mo),Y,t(H),t(Mi),t(S),UTC]).
t(X) when is_integer(X) ->