XLog 裏實現 debug 開啓 / release 關閉 日誌,不需要自己寫開關,官方已提供 編譯期 + 運行時 兩級方案,零運行時開銷。 下面給出 Java & Kotlin 兩種寫法,直接拷貝即可。


一、build.gradle 裏利用 BuildConfig.DEBUG 自動切換

android {
    ...
    buildTypes {
        debug {
            // debug 版打開 XLog
            buildConfigField "boolean", "LOG_OPEN", "true"
        }
        release {
            // release 版徹底關閉(編譯期優化)
            buildConfigField "boolean", "LOG_OPEN", "false"
        }
    }
}

二、Application 裏一行代碼初始化

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // 只在 debug 編譯時生效,release 版不會打印也不會初始化
        if (BuildConfig.LOG_OPEN) {
            XLog.init(LogLevel.ALL);   // 調試版全開
        } else {
            XLog.init(LogLevel.NONE);  // 發佈版全關(0 開銷)
        }
    }
}

三、Kotlin 更簡潔

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        XLog.init(if (BuildConfig.LOG_OPEN) LogLevel.ALL else LogLevel.NONE)
    }
}

四、運行時動態關閉(可選)

同一份 APK後台遠程關閉日誌

// 遠程配置下發 false
if (!RemoteConfig.isLogOpen()) {
    XLog.init(LogLevel.NONE);   // 立即停打
}

五、一行總結

debug / release 雙包場景gradle 裏 BuildConfig.LOG_OPEN + XLog.init(LogLevel.ALL/NONE) 即可 編譯期徹底關閉 XLogrelease 版 0 性能損耗

單包場景遠程配置 → XLog.init(LogLevel.NONE) 隨時關閉。