Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
メソッド log(string) を持つ別のクラスとして、本当に基本的なロガーを作成しています。
3つのクラスがあるとしましょう: - A - B - ロガー
A クラスと B クラスのそれぞれにロガー オブジェクトがあります。そして、Logger.log("whatever") を実行します。
ログから呼び出されたクラスの名前を知りたいです。どうすればこれを取得できますか? (ここでは「A」または「B」になります)
可能であれば、それのためだけに引数を渡す必要はありません。
クラス関数で呼び出されるこのようなものは、ログにクラスと関数を提供します: -
Logger.log(QString("%1::%2").arg(metaObject()->className()).arg(__func__));
クラスが QObject から派生していると仮定します。
コンストラクLoggerターでクラスの名前を取得し、後で使用できるように保存します。2 つのクラスのそれぞれで、Loggerメンバーを独自の名前で初期化します。
Logger