众所周知,日志的管理是软件系统很重要的一部分,千万不可忽略其重要性。完整的日志将会在系统维护中起着异常重要的作用,就好像磨刀不误砍柴工一样,日志就像对系统进行分析的工具,工具便捷了,对系统分析起来就能达到事半功倍的效果。开发者必须要明白日志的价值和意义,万万不可忽略和轻视。

LogCook是一款非常简洁实用的Android日记管理工具。LogCook的中文翻译是日志厨师,你可以把它看作是一个日志美食家。

特点

作为一款日志管理工具它最大的特点就是简单实用,与Android原生的日志功能相比较它具有以及几个优势:

  1. 支持把日志输出到指定文本文件
  2. 支持捕获App异常奔溃闪退(Crash)并打印输出到指定文件
  3. 支持日志开关可灵活控制是否输出日志
  4. 支持文件保存开关可灵活控制是否保存日志

使用教程

一、添加依赖

推荐Gradle引用:

在外层build.gradle 文件中添加以下信息:

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

在App文件夹下的build.gradle 文件中添加以下信息:

dependencies {
compile 'com.github.whieenz:LogCook:v1.0'
}

二、添加文件写入权限

在manifest.xml中添加user permission:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

三、初始化

新建一个继承自Application的类,如果项目中已经有的话就不用新建了。

重写onCreate()方法在onCreate()方法中初始化LogCook,代码如下:

 @Override
public void onCreate() {
super.onCreate();
String logPath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/com.whieenz.logCook/log";
LogCook.getInstance() // 单例获取LogCook实例
.setLogPath(logPath) //设置日志保存路径
.setLogName("test.log") //设置日志文件名
.isOpen(true) //是否开启输出日志
.isSave(true) //是否保存日志
.initialize(); //完成吃初始化Crash监听
}

在manifest.xml中的application标签下添加android:name=".MyApplication"属性,代码如下:

    <application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:name=".MyApplication"
android:theme="@style/AppTheme">

好了,到了这里LogCook的配置问题就全部完成,是不是觉得很简单?

四、开始使用

LogCook 的使用非常简单日志的格式完全兼容Android原生的日志打印方式。用例如下:

LogCook.v(TAG,"测试日志v");
LogCook.i(TAG,"测试日志i");
LogCook.d(TAG,"测试日志d");
LogCook.w(TAG,"测试日志w");
LogCook.e(TAG,"测试日志e");
LogCook.log("测试日志log");

五、注意事项

  1. 日志的保存路径和文件名是在使用时自己设置的,请务必注意路径和文件名有效
  2. Crash信息只有在App运行时发生Crash才会有捕获和保存,保存在初始化时指定的路径下

源码地址

https://github.com/whieenz/LogCook

如果喜欢请给个 ☆ 谢谢!

LogCook 一个简单实用的Android日志管理工具的更多相关文章

  1. 写一个简单的配置文件和日志管理(shell)

    最近在做一个Linux系统方案的设计,写了一个之前升级服务程序的配置和日志管理. 共4个文件,服务端一个UpdateServer.conf配置文件和一个UpdateServer脚本,客户端一个Upda ...

  2. 开发一个简单实用的android紧急求助软件

    之前女朋友一个人住,不怎么放心,想找一个紧急求助的软件,万一有什么突发情况,可以立即知道.用金山手机卫士的手机定位功能可以知道对方的位置状态,但不能主动发送求助信息,在网上了很多的APK,都是鸡肋功能 ...

  3. 简单好用的日志管理工具 Logrotate

    前言 日志就像程序的生命记录仪,详细记录下了程序运行的点点滴滴. 慎重的选择记录哪些日志:在茫茫日志海中寻找真正记录问题的日志,你是不想经历的: 精心的定时压缩转移日志:故障发生了,日志却丢了,此时的 ...

  4. 一个简单好用的日志框架NLog

    之前我介绍过如何使用log4net来记录日志,但最近喜欢上了另一个简单好用的日志框架NLog. 关于NLog和log4net的比较这里就不多讨论了,感兴趣的朋友可以参看.NET日志工具介绍和log4n ...

  5. [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS

    [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS 本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且 ...

  6. Java程序员须知的七个日志管理工具(转)

    Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm 英文原文:T ...

  7. mysql 开发进阶篇系列 33 工具篇(mysqlbinlog日志管理工具)

    一.概述 由于服务器生成的二进制日志文件以二进制格式保存,所以如果要想检查这些文件的文本格式,就会用到mysqlbinlog日志管理工具. mysqlbinlog的语法如下: mysqlbinlog ...

  8. 系统自带的日志管理工具-rsyslogd

    系统自带的日志管理工具-rsyslogd 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志管理简介 1.什么是日志 系统日志是记录系统中硬件.软件和系统问题的信息,同时还可以 ...

  9. Java程序员须知的七个日志管理工具

    本文由 ImportNew - 赖 信涛 翻译自 takipiblog.欢迎加入翻译小组.转载请见文末要求. Splunk vs. Sumo Logic vs. LogStash vs. GrayLo ...

随机推荐

  1. session多服务器共享的方案

    session的存储了解以前是怎么做的,搞清楚了来龙去脉,才会明白进行共享背后的思想和出发点.我喜欢按照这样的方式来问(或者去搞清楚):为什么要session要进行共享,不共享会什么问题呢? php中 ...

  2. 基于HTML5的WebGL实现json和echarts图表展现在同一个界面

    突然有个想法,如果能把一些用到不同的知识点放到同一个界面上,并且放到一个盒子里,这样我如果要看什么东西就可以很直接显示出来,而且这个盒子一定要能打开.我用HT实现了我的想法,代码一百多行,这么少的代码 ...

  3. 使用Java 8中的Stream

    Stream是Java 8 提供的高效操作集合类(Collection)数据的API. 1. 从Iterator到Stream 有一个字符串的list,要统计其中长度大于7的字符串的数量,用迭代来实现 ...

  4. 基于ElementUI的网站换主题的一些思考与实现

    前言 web应用程序,切换主题,给其换肤,是一个比较常见的需求. 如何能快速的切换主题色?(只有固定的一种皮肤) 如果又想把主题色切换为以前的呢?(有多种可切换的皮肤) 该以何种方式编写标签的css属 ...

  5. PhiloGL学习(4)——三维对象、加载皮肤

    前言 上一篇文章中介绍了如何响应鼠标和键盘事件,本文介绍如何加载三维对象并实现给三维对象添加一个漂亮的皮肤. 一. 原理分析 我对三维的理解为:所谓三维对象无非是多个二维对象拼接到一起,贴图就更简单了 ...

  6. 如何获取系统Home(Launcher)应用判断用户是否处于home界面

    要把我们的应用程序作为home(launcher应用),只需要在AndroidManifest.xml中添加: <category android:name="android.inte ...

  7. 使用localstorage来存储页面信息

    今天小颖在跟着慕课网学习vue,不学不知道,一学吓一跳,学了才发现,我之前知道的只是vue的冰山一角,嘻嘻,今天把小颖跟着慕课网学习的demo,给大家分享下,希望对大家有所帮助嘻嘻. 环境搭建: 参考 ...

  8. 原生JS实现Ajax及Ajax的跨域请求

      前  言          如今,从事前端方面的程序猿们,如果,不懂一些前后台的数据交互方面的知识的话,估计都不太好意思说自己是程序猿.当然,如今有着许多的框架,都有相对应的前后台数据交互的方法. ...

  9. HDU1005 Number Sequence (奇技淫巧模拟)

    A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mo ...

  10. AngularJS学习篇(四)

    AngularJS ng-model 指令 ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值. <!DOCTYPE html& ...