美文网首页我的Android开源之旅
一个简易的埋点解决方案

一个简易的埋点解决方案

作者: xuexiangjys | 来源:发表于2018-04-08 01:22 被阅读39次

    XMark

    一个简易的埋点解决方案(基于JakeWharton的hugo基础上改造)

    项目地址

    特点

    • JakeWharton的hugo的所有特点。

    • 内置默认的logcat打印突破了4000的打印限制。

    • 支持日志的自定义打印(不仅简单的Logcat)。你可以使用我的XLog进行扩展。

    • 支持设置日志的打印权限。

    1、演示(请star支持)

    演示

    2、如何使用

    目前支持主流开发工具AndroidStudio的使用,直接配置build.gradle,增加依赖即可.

    2.1、Android Studio导入方法,添加Gradle依赖

    1.先在项目根目录的 build.gradle 的 repositories 添加:

    allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }
    

    2.再在项目根目录的 build.gradle 的 dependencies 添加xmark插件:

    buildscript {
        ···
        dependencies {
            ···
            classpath 'com.github.xuexiangjys.XMark:xmark-plugin:1.0.1'
        }
    }
    

    3.在项目的 build.gradle 中增加依赖并引用xmark插件

    apply plugin: 'com.xuexiang.plugin.xmark' //引用xmark插件
    
    dependencies {
        ···
        implementation 'com.github.xuexiangjys.XMark:xmark-runtime:1.0.1'  //添加依赖
    }
    
    

    2.2、设置日志是否打印

    
    XMark.debug(true); //默认是false
    
    

    2.3、使用@MarkLog进行埋点

    1.记录方法的执行

    priority: 打印日志的优先级

    @MarkLog
    private void printDemo1(String lab, String name) {
        Log.d("printing", lab + name);
    }
    
    @MarkLog(priority = Log.ERROR)
    private String printDemo2(String lab, String name) {
        return lab + name;
    }
    

    2.记录类的创建

    @MarkLog
    static class Greeter {
        private final String name;
    
        Greeter(String name) {
            this.name = name;
        }
    
        private String sayHello() {
            return "Hello, " + name;
        }
    }
    

    2.4、修改日志的打印方式

    可在应用初始化的Application下进行如下操作:

    XMark.setLogger(new ILogger() {  //设置日志打印的实现接口
        @Override
        public boolean isDebug() {
            return false;
        }
    
        @Override
        public void debug(boolean isDebug) {
    
        }
    
        @Override
        public void log(int priority, String tag, String msg) {
            ···打印的方法
        }
    });
    
    

    特别感谢

    https://github.com/JakeWharton/hugo

    相关文章

      网友评论

        本文标题:一个简易的埋点解决方案

        本文链接:https://www.haomeiwen.com/subject/tdnuhftx.html