私のプロジェクトにログインすることを実現したい。 私はだから私はこのマクロのためのインタフェースを実現したい、マクロ持っC C++プリプロセッサオーバーロードされたマクロのための異なる引数
__LOG_TRACE(lg, expr,...) LOG_TRACE_STREAM(lg) << expr;
のようになめらか - 他のマクロを、私は2種類をサポートしたい:最初
LOG_TRACE(msg);
LOG_TRACE(my_logger, msg);
私はいくつかのグローバルロガーを持っており、マクロはグローバルロガーを使用してmsg
と記述します。 2番目のマクロはmy_logger
になり、それを使用してmsg
と書きます。
私はLOG_TRACE(msg, my_logger);
で作ることができますが、それは良くありません。コードを読むのは難しいです。引数の順序は__LOG_TRACE
である必要はありません。
更新: マクロのオーバーロードを意味するものではありません。 ルック - たとえば私はあなたがロガーの可変数を持っていない場合は今、私は
LOG_TRACE(msg);
LOG_TRACE(msg, logger);
を書くことができます。しかし、私はmsg,logger
とlogger,msg
正確な要件は何ですか? – iammilind