プログラムに動的ログ クラスを追加しようとしています (ログ メッセージの送信先を System.out やファイルに変更するため)。Logger
静的メソッドを持つ基本抽象クラスを拡張しますlog(String)
。ロガー クラスを設定してから、ロガーのインスタンスを作成したりリフレクションを使用したりせずにログ メソッドを呼び出すことは可能ですか?
このようなもの:
public class MainController {
private Class<? extends Logger> mLogger;
// ...
public void setLogger(Class<? extends Logger> logger) {
mLogger = logger;
}
public Class<? extends Logger> getLogger() {
return mLogger;
}
// ...
}
public class BrokenTest {
// ...
private void showErrorMessage(String message) {
mMainController.getLogger().log(message); // Can't call .log on Class
}
}