如何使用android.util.Log登录Android的附加模块?

时间:2019-03-26 08:26:09

标签: android logging

我正在使用Clean Architecture开发Android应用程序。 因此,我将模块分为“应用”,“数据”,“域”。

但是我要做的是使用android.utils.Log登录到'data','domain'模块。

我无法在“数据”,“域”模块中找到它。

下面是我的“域”模块的gradle文件。

apply plugin: 'java-library'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

sourceCompatibility = "7"
targetCompatibility = "7"

我应该在这里添加一些东西吗?

还是我应该只使用“ System.out.println()”方法?

1 个答案:

答案 0 :(得分:1)

首先,我必须确认您的意图是否良好:)

您需要执行以下操作才能实现所需的目标:

  1. 在您的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无关。

  1. 在您的任何android模块中,创建并实现android logger:

    public class AndroidLog implements Log.LogInterface {
     public void d(String tag, String message) {
        android.util.Log.d(tag, message);
     }
    }
    
  2. 可能与p2在同一模块中,初始化(初始化可能会在创建应用程序时发生):

    Log.setLogInterface(new AndroidLogger());
    

现在,您可以像这样使用域的Log:Log.d(...)-在纯Java模块中到处都是。