From 0117d5f8ff386075b0c4cbec0cbe460fe3cfa680 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期四, 06 五月 2021 18:57:25 +0800 Subject: [PATCH] add logging, use boost.log. --- box/box.cc | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) diff --git a/box/box.cc b/box/box.cc index dab1c42..f83f2fd 100644 --- a/box/box.cc +++ b/box/box.cc @@ -76,13 +76,24 @@ } const std::string kOrigName("bhshmqbox"); + +inline void PrintLn() { putchar('\n'); } + +template <class... Params> +void PrintLn(const char *fmt, Params &&...t) +{ + printf(fmt, std::forward<decltype(t)>(t)...); + PrintLn(); +} + void Help() { - printf("%s : bhome shared memory message queue box application.\n", kOrigName.c_str()); - printf("usage:\n"); - printf("\t1) %s [function [options]...]\n", kOrigName.c_str()); - printf("\t2) rename or link %s to a function name then run it directly.\n", kOrigName.c_str()); - printf("\nsupported functions:\n"); + PrintLn("%s : bhome shared memory message queue box application.", kOrigName.c_str()); + PrintLn("usage:"); + PrintLn("\t1) %s [function [options]...]", kOrigName.c_str()); + PrintLn("\t2) rename or link %s to a function name then run it directly.", kOrigName.c_str()); + PrintLn(); + PrintLn("supported functions:"); std::map<std::string, std::string> funcs; auto getInfo = [&](const std::string &name, const std::string &desc) { funcs[name] = desc; @@ -92,9 +103,10 @@ int max_len = std::max_element(funcs.begin(), funcs.end(), cmp_name_len)->first.size(); for (auto &kv : funcs) { int npad = max_len - kv.first.size(); - printf("\n\t%s%s : %s\n", kv.first.c_str(), std::string(npad, ' ').c_str(), kv.second.c_str()); + PrintLn(); + PrintLn("\t%s%s : %s", kv.first.c_str(), std::string(npad, ' ').c_str(), kv.second.c_str()); } - printf("\n"); + PrintLn(); } int BoxMain(int argc, const char *argv[]) @@ -106,7 +118,7 @@ if (BoxFind(name, func)) { return func(argc, argv); } else { - printf("%s : function not found!\n", name.c_str()); + PrintLn("%s : function not found!", name.c_str()); // Help(); } return 0; @@ -119,7 +131,7 @@ fs::path exe(argv[0]); auto name = exe.filename().string(); - // printf("name: %s\n", name.c_str()); + // PrintLn("name: %s", name.c_str()); if (name == kOrigName) { if (argc > 1) { -- Gitblit v1.8.0