5

一部のコードの前にspdlogレベルをオフにしてから、以前の値に戻す必要があります。

オフにする前に現在のレベルを取得するにはどうすればよいですか?

4

3 に答える 3

3

シナリオ 1: ユーザー構築のロガー

使用しているspdlog::loggerオブジェクトがある場合 (たとえば、my_logger)、次のようになります。

  • 次の方法でレベルを取得できますmy_logger.level()
  • 特定のレベルのメッセージがログに記録されるかどうかだけを知りたい場合は、my_logger.should_log(some_level)where some_levelcould be などを使用しますspdlog::level::debug

シナリオ 2: グローバル ロガー

ここで、グローバル ロガーを使用しているとします (たとえば、 などを使用してログ メッセージを出力します spdlog::info()) spdlog::error()

spdlogバージョン 1.8.0 以降

への呼び出しでグローバル ログ レベルを取得できますspdlog::get_level()(これはメソッドではなく独立した関数です)。

spdlog1.8.0 より前のバージョン

暗黙的なロガー オブジェクトを取得する必要があります。呼び出すspdlog::default_logger_raw()ことによって (ポインターを取得します)、上記のシナリオ 1 と同様に進めます。

于 2020-07-22T21:25:39.430 に答える