logan使用笔记

 

 

总结

总的来说logan还是个半成品的开源项目,可能美团官方使用的已经是个成品了,但是后台没有开源,所以我们目前只能用他们的前段开源项目来达到本地日志管理的功能;

 

然后在官网的介绍文章里说了很多高大上的东西,其实说白了最核心的是C语言编写,文件加密,其他说的很多可能是美团内部使用的功能和机制,但并没有开放出来

 

从目前的sdk来看,只具备几个功能,日志本地存储框架,日志加密,那些日志回捞啥的都没有,就是需要我们自己在程序中实现

 

这个框架主要解决  

卡顿,影响性能(c语言编写)  

日志丢失(应该是指因为用c语言编写,底层日志,所以不容易丢失,但是查看issues,如果超出文件大小限制,依旧会丢失追加的日志,https://github.com/Meituan-Dianping/Logan/issues/53)

安全性(aes加密)

日志分散(就是有了统一的规则,所有开发者都用这个框架去进行记录,自然就不分散了,另外日志有类型,在sdk方法中,没有筛选的方法)

 

下面列举下安卓端sdk可以使用的几个api大概就知道目前的SDK有多简洁了

 

//开启debug模式
Logan.setDebug(true);.setDebug(true);
//记录日志
Logan.w("test logan", 1);.w("test logan", 1);
//将日志从缓存冲刷到物理文件上
Logan.f();.f();
//上传日志
Logan.s(new String[]{"2019-02-13"}, new SendLogRunnable() {.s(new String[]{"2019-02-13"}, new SendLogRunnable() {
        @Override@Override
        public void sendLog(File logFile) {public void sendLog(File logFile) {
            //在这里编写代码上传到我们自己的服务器上//在这里编写代码上传到我们自己的服务器上
        }
});

 

 

关于日志回捞功能,文章说是由推送sdk发起回捞指令,然后logan收到进行上传,这应该是通过后台平台一个按钮来触发,目前后台没有开源,所以这一个功能也是没有的,需要我们自己实现,当然,文章已经给出了思路,至于文章说的logan根据网络类型和日志大小上线选择来节省流量,目前的sdk是通过回调给了我们一个File,需要我们自己来做上传的逻辑,所以也是没有这个功能

 

关于主动上报功能,可以看到sdk仅仅提供了s方法,也就是说主动上报的触发机制需要根据我们自己app的要求,然后主动调用s方法然后进行上传

 

 

 

 

使用向导

https://github.com/Meituan-Dianping/Logan/blob/master/README-zh.md

 

其中Logan.s的第一个参数是日期的字符串数组,每个元素的格式为"yyyy-MM-dd"

这里其实很奇怪,不知道为什么要传数组,我本来以为是{"yyyy","MM","dd"}的形式,实际是{"yyyy-MM-dd"}

第二个参数是一个抽象类的实例,实现sendlog方法,方式参数是经过处理后的日志文件,然后需要我们自己编写上传代码,自己搭建服务器,进行上传

 

按照官方代码,然后导出并解析日志文件

```

{"c":"clogan header","f":1,"l":1550048816507,"n":"clogan","i":1,"m":true}
{"c":"test logan","f":1,"l":1550048816497,"n":"main","i":2,"m":true}

```

下面记录一下每个key的含义

https://github.com/Meituan-Dianping/Logan/wiki/Log-protocol

 

key typedescription
cstring日志内容
fint日志类型
llong时间戳
nstring线程名称
iint线程id
mbool是不是主线程
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值