私はロギングメカニズムを使用するアプリケーションを開発しており、さまざまな数の引数を取り、特定のメッセージをログに出力する一種の printf 関数を実装しました。この関数に関数名を追加したいのですが、何を書くべきかわかりません各関数呼び出しでこの引数。
だから私はマクロを書くことにしましたが、それはそれほど簡単ではないことがわかりました
#define WriteToLogParams(szMessage, nLogLevel, param1, param2) WriteToLogParamsFunc(szMessage, __FUNCDNAME__, nLogLevel, param1, param2)
最初に、ある種のマクロのオーバーロードがあり、簡単に実行できると思いましたが、同じ名前で引数の数が異なる別のマクロを作成すると、コンパイルされないことがわかりました。したがって、それを機能させるには、各マクロ名を一意にする必要があります。
これを行うためのインテリジェントな方法はありますか?
よろしくお願いします。