From e67138a6a7d4aee1bc5fbe61d5f4f6634be5e22f Mon Sep 17 00:00:00 2001 From: DDDHuang <44492639+DDDHuang@users.noreply.github.com> Date: Mon, 14 Mar 2022 10:54:40 +0800 Subject: [PATCH] fix: trace data dir suffix --- apps/emqx/src/emqx_trace/emqx_trace.erl | 8 ++++---- apps/emqx_management/src/emqx_mgmt_api_trace.erl | 8 +++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/emqx/src/emqx_trace/emqx_trace.erl b/apps/emqx/src/emqx_trace/emqx_trace.erl index 341334f86..33e20f845 100644 --- a/apps/emqx/src/emqx_trace/emqx_trace.erl +++ b/apps/emqx/src/emqx_trace/emqx_trace.erl @@ -229,8 +229,8 @@ format(Traces) -> init([]) -> ok = mria:wait_for_tables([?TRACE]), erlang:process_flag(trap_exit, true), - ok = filelib:ensure_dir(trace_dir()), - ok = filelib:ensure_dir(zip_dir()), + ok = filelib:ensure_dir(filename:join([trace_dir(), dummy])), + ok = filelib:ensure_dir(filename:join([zip_dir(), dummy])), {ok, _} = mnesia:subscribe({table, ?TRACE, simple}), Traces = get_enable_trace(), TRef = update_trace(Traces), @@ -493,10 +493,10 @@ to_system_second(Sec) -> {ok, erlang:max(Now, Sec)}. zip_dir() -> - trace_dir() ++ "zip/". + filename:join([trace_dir(), "zip"]). trace_dir() -> - filename:join(emqx:data_dir(), "trace") ++ "/". + filename:join(emqx:data_dir(), "trace"). log_file(Name, Start) -> filename:join(trace_dir(), filename(Name, Start)). diff --git a/apps/emqx_management/src/emqx_mgmt_api_trace.erl b/apps/emqx_management/src/emqx_mgmt_api_trace.erl index d282ef518..055a7f9e0 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_trace.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_trace.erl @@ -321,7 +321,8 @@ download_trace_log(get, #{bindings := #{name := Name}}) -> TraceFiles = collect_trace_file(TraceLog), ZipDir = emqx_trace:zip_dir(), Zips = group_trace_file(ZipDir, TraceLog, TraceFiles), - ZipFileName = ZipDir ++ binary_to_list(Name) ++ ".zip", + FileName = binary_to_list(Name) ++ ".zip", + ZipFileName = filename:join([ZipDir, FileName]), {ok, ZipFile} = zip:zip(ZipFileName, Zips, [{cwd, ZipDir}]), %% emqx_trace:delete_files_after_send(ZipFileName, Zips), %% TODO use file replace file_binary.(delete file after send is not ready now). @@ -340,9 +341,10 @@ group_trace_file(ZipDir, TraceLog, TraceFiles) -> lists:foldl(fun(Res, Acc) -> case Res of {ok, Node, Bin} -> - ZipName = ZipDir ++ Node ++ "-" ++ TraceLog, + FileName = Node ++ "-" ++ TraceLog, + ZipName = filename:join([ZipDir, FileName]), case file:write_file(ZipName, Bin) of - ok -> [Node ++ "-" ++ TraceLog | Acc]; + ok -> [FileName | Acc]; _ -> Acc end; {error, Node, Reason} ->