Прежде всего я должен подтвердить, что ваши намерения хороши:)
Вам нужно сделать следующее, чтобы достичь того, что вы хотите:
Определить окончательный Log
Журнал определения класса + интерфейса, оба в вашем domain
:
public final class Log {
private static LogInterface logInterface;
public static void d(String tag, String message) {
logInterface.d(tag, message);
}
public static void setLogInterface(LogInterface logInterface) {
Log.logInterface = logInterface;
}
public interface LogInterface {
void d(String tag, String message);
//...
}
}
Обратите внимание, что все вышеперечисленное - чисто Java, ничто не связано с Android.
В любом из ваших модулей Android создайте и внедрите регистратор Android:
public class AndroidLog implements Log.LogInterface {
public void d(String tag, String message) {
android.util.Log.d(tag, message);
}
}
Возможно, в том же модуле, что и p2, инициализируйте (инициализация, вероятно, должна произойти, когда приложение):
Log.setLogInterface(new AndroidLogger());
Теперь вы можете использовать журнал своего домена следующим образом: Log.d (...) - все вокруг в ваших чистых Java-модулях.