2

この状況に遭遇したのは私が初めてではないと確信していますが、ここでも一般的にも具体的なことは何も見つかりませんでした。

私はprintfフォーマットを使用する古いロガーを使用しています...例:

LOG_ERROR("Error Code: %d. Additional data %s", error.ID, error.serialize());

そして、ストリーム スタイルのロガーに移行したいと考えています。例えば:

LOG_ERROR("Error Code: " << error.ID << "Additional data: " << error.serialize());

当然、コード ベースは大きく、これを自動化したいと考えています。それを行うスクリプトを思いつくことができると思いますが、それほど簡単ではないように見えます...かなり簡単な方法があると確信しています。ありがとう!

4

1 に答える 1

1

そのタスクを自動化することはあえてしません。すべての古い LOG_ERROR の名前を LOG_ERROR_FORMAT (のようなもの) に変更し、LOG_ERROR_FORMAT で文字列を作成して、それを新しい LOG_ERROR に渡すことができます。

あなたが本当にそれをやりたいのなら、正しく解析するために printf の実装を調べることをお勧めします

于 2013-10-17T13:23:30.053 に答える