0

私は自分のコードで使用しており、 (google logging library)boost program optionsを使用して詳細ログを追加しようとしています。glog

問題はboost、コマンド ライン オプションを取得することであり、--vフラグを使用して詳細ログを制御できないことです。minloglevelコードからを設定する方法はありますか? プログラムでそれを行うための関数またはマクロを見つけることができませんでした...

4

2 に答える 2

4

私は同じ問題を抱えていて、次のようにメイン関数で glog フラグを設定しています。

namespace po = boost::program_options;

int main(int ac, char **av) {
    po::options_description desc("...");
    desc.add_options()
    ("verbosity,v", po::value<int>(), "set verbose logging level, defaults to 0")
    ;

    po::variables_map vm;
    try{
        po::store(po::parse_command_line(ac, av, desc), vm);
        po::notify(vm);
    }
    catch (po::required_option& e){
        ...
    }
    ...
    if (vm.count("verbosity")){
        FLAGS_v = vm["verbosity"].as<int>();
    }
    else{
        FLAGS_v = 0;
    }
    google::InitGoogleLogging("...");
}
于 2015-02-05T16:03:06.137 に答える