1

ロギングにPantheiosライブラリを使用しています。私は持っています:

pantheios::log(pantheios::debug, "I'm debug");
pantheios::log(pantheios::informational, "Some info");

どの出力:

[MyApplication, Jun 14 15:45:26.549; Debug] : I'm debug
[MyApplication.1, Jun 14 15:45:26.549; Informational] : Some info

しかし、表示情報とデバッグのどちらかを選択したいと思います。

 set_level(pantheios::informational) //what should this be ?
 pantheios::log(pantheios::debug, "I'm debug");
 pantheios::log(pantheios::informational, "Some info");

どの出力:

[MyApplication.1, Jun 14 15:45:26.549; Informational] : Some info
4

1 に答える 1

5

ログレベルを実際にフィルタリングする「正しい」方法は、ロガーのフロントエンドをカスタマイズしてオーバーライドpantheios::pantheios_fe_isSevereityLogged()することです。

namespace
{
    static int s_log_level = pantheios::debug;
}

PANTHEIOS_CALL(int) pantheios_fe_isSeverityLogged(void *token,
    int severity, int backEndId)
{
    return severity <= s_log_level;
}

詳細については、これこの例を参照してください。

于 2012-06-14T13:36:51.947 に答える