From a75381b0ef4bda31ba9e68f39d98a14f46451231 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Fri, 4 Aug 2023 13:00:05 +0200 Subject: [PATCH] Contextual option logging --- include/dwarfs/contextual_option.h | 7 +++++++ src/mkdwarfs_main.cpp | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/include/dwarfs/contextual_option.h b/include/dwarfs/contextual_option.h index 6f47bc57..ad347af9 100644 --- a/include/dwarfs/contextual_option.h +++ b/include/dwarfs/contextual_option.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -178,6 +179,12 @@ class contextual_option_parser { } } + std::string as_string() const { + std::ostringstream oss; + dump(oss); + return oss.str(); + } + private: void add_contextual(typename option_type::context_type const& ctx, typename option_type::value_type const& val) const { diff --git a/src/mkdwarfs_main.cpp b/src/mkdwarfs_main.cpp index e46dec64..d696f5cc 100644 --- a/src/mkdwarfs_main.cpp +++ b/src/mkdwarfs_main.cpp @@ -977,7 +977,7 @@ int mkdwarfs_main(int argc, sys_char** argv) { contextual_option_parser cop("--order", options.inode.fragment_order, cp, order_parser); cop.parse(order); - cop.dump(std::cerr); + LOG_DEBUG << cop.as_string(); } catch (std::exception const& e) { LOG_ERROR << e.what(); return 1; @@ -988,7 +988,7 @@ int mkdwarfs_main(int argc, sys_char** argv) { contextual_option_parser cop("--max-lookback-blocks", max_lookback_opt, cp, max_lookback_parser); cop.parse(max_lookback_blocks); - cop.dump(std::cerr); + LOG_DEBUG << cop.as_string(); } catch (std::exception const& e) { LOG_ERROR << e.what(); return 1; @@ -999,7 +999,7 @@ int mkdwarfs_main(int argc, sys_char** argv) { contextual_option_parser cop("--window-size", window_size_opt, cp, window_size_parser); cop.parse(window_size); - cop.dump(std::cerr); + LOG_DEBUG << cop.as_string(); } catch (std::exception const& e) { LOG_ERROR << e.what(); return 1; @@ -1010,7 +1010,7 @@ int mkdwarfs_main(int argc, sys_char** argv) { contextual_option_parser cop("--window-step", window_step_opt, cp, window_step_parser); cop.parse(window_step); - cop.dump(std::cerr); + LOG_DEBUG << cop.as_string(); } catch (std::exception const& e) { LOG_ERROR << e.what(); return 1; @@ -1021,7 +1021,7 @@ int mkdwarfs_main(int argc, sys_char** argv) { contextual_option_parser cop("--compression", compression_opt, cp, compressor_parser); cop.parse(compression); - cop.dump(std::cerr); + LOG_DEBUG << cop.as_string(); compression_opt.visit_contextual([catmgr = options.inode.categorizer_mgr]( auto cat, block_compressor const& bc) {