0

メソッド log(string) を持つ別のクラスとして、本当に基本的なロガーを作成しています。

3つのクラスがあるとしましょう: - A - B - ロガー

A クラスと B クラスのそれぞれにロガー オブジェクトがあります。そして、Logger.log("whatever") を実行します。

ログから呼び出されたクラスの名前を知りたいです。どうすればこれを取得できますか? (ここでは「A」または「B」になります)

可能であれば、それのためだけに引数を渡す必要はありません。

4

2 に答える 2

1

クラス関数で呼び出されるこのようなものは、ログにクラスと関数を提供します: -

 Logger.log(QString("%1::%2").arg(metaObject()->className()).arg(__func__));

クラスが QObject から派生していると仮定します。

于 2013-10-29T13:29:33.497 に答える
1

コンストラクLoggerターでクラスの名前を取得し、後で使用できるように保存します。2 つのクラスのそれぞれで、Loggerメンバーを独自の名前で初期化します。

于 2013-10-29T13:01:12.263 に答える