diff --git a/src/MeoAssistant/Controller.cpp b/src/MeoAssistant/Controller.cpp index 5f3f587061..d9a7aa398d 100644 --- a/src/MeoAssistant/Controller.cpp +++ b/src/MeoAssistant/Controller.cpp @@ -422,7 +422,7 @@ std::optional asst::Controller::call_command(const std::string& cmd Log.info("Call `", cmd, "` ret", exit_ret, ", cost", duration, "ms , stdout size:", pipe_data.size(), ", socket size:", sock_data.size()); if (!pipe_data.empty() && pipe_data.size() < 4096) { - Log.trace("output:", Logger::separator("\n"), pipe_data); + Log.trace("output:", Logger::separator::newline, pipe_data); } if (!exit_ret) { diff --git a/src/MeoAssistant/Logger.hpp b/src/MeoAssistant/Logger.hpp index de391d843e..0612f30236 100644 --- a/src/MeoAssistant/Logger.hpp +++ b/src/MeoAssistant/Logger.hpp @@ -20,7 +20,16 @@ namespace asst public: struct separator { - separator(std::string_view str) : str(str) {} + separator() = default; + separator(std::string_view s) : str(s) {} + separator& operator=(std::string_view s) { str = s; } + + static const separator none; + static const separator space; + static const separator tab; + static const separator newline; + static const separator comma; + std::string_view str; }; @@ -238,8 +247,7 @@ namespace asst Stream& stream_put_line(Stream& s, First&& a0, Args&&... args) { stream_put(s, std::forward(a0)); - static const separator default_sep(" "); - stream_put_line_impl::apply(s, default_sep, std::forward(args)...); + stream_put_line_impl::apply(s, separator::space, std::forward(args)...); return s; } @@ -251,6 +259,12 @@ namespace asst std::ofstream m_ofs; }; + inline const Logger::separator Logger::separator::none; + inline const Logger::separator Logger::separator::space(" "); + inline const Logger::separator Logger::separator::tab("\t"); + inline const Logger::separator Logger::separator::newline("\n"); + inline const Logger::separator Logger::separator::comma(","); + class LoggerAux { public: