一个好的程序, 完全可以从Log中, 解决问题.
一个好的Log系统,是一个程序的关键.

本文介绍的是Logback-Android, 这个库,可以将Log写入到File,写入到数据库,写入到Email,写入到网络.
当然,最基本的Logcat窗口完美输出,是最基本的;

开源地址: https://github.com/tony19/logback-android
slf4j地址: http://www.slf4j.org/
slf4j API文档: http://www.slf4j.org/api/
如果你需要了解更多,请自行百度(谷歌);

logback 官方WIKI: https://github.com/tony19/logback-android/wiki
logback API文档: http://tony19.github.io/logback-android/doc/1.1.1-4/

推荐阅读: http://blog.csdn.net/haidage/article/details/6794529


1:Module中的build.gradle 添加以下依赖

dependencies {...compile 'org.slf4j:slf4j-api:1.7.21'compile 'com.github.tony19:logback-android-core:1.1.1-5'compile 'com.github.tony19:logback-android-classic:1.1.1-5'
}

2:在以下位置创建一个logback.xml文件,默认情况下这个路径和文件名是固定的

3:配置logback文件

<!--debug属性用来决定是否打印logback的日志信息-->
<configuration debug='false'><!--声明一个属性,用来指定log文件存放的路径--><property name="LOG_DIR" value="/sdcard/rlog"/><!--声明一个时间戳--><timestamp datePattern="yyyyMMdd" key="today"/><!--用于在控制台输出的Appender--><appender name="LOGCAT" class="ch.qos.logback.classic.android.LogcatAppender"><encoder><pattern>%-5relative [%thread][%file:%M:%line] - %msg%n</pattern></encoder></appender><!--声明一个FileAppender--><appender name="BASE_FILE" class="ch.qos.logback.core.FileAppender"><!--初始化的时候不创建文件,在第一次使用的时候创建文件--><lazy>true</lazy><!--log追加到文件,否则覆盖文件--><append>true</append><!--用来保存log的文件全路径--><file>${LOG_DIR}/base.log</file><!--输出log的格式--><encoder><!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] - %msg%n</pattern>--><pattern>%date [%thread] %-5level %logger{36} [%file:%line] - %msg%n</pattern></encoder></appender><!--声明一个RollingFileAppender--><appender name="BASE_ROLL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_DIR}/base.roll.${today}.log</file><append>true</append><encoder><pattern>%date %-5relative [%thread] %-5level %logger{36} [%file:%M:%line] - %msg%n</pattern></encoder><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_DIR}/base.roll.%d{yyyy-MM-dd}.log</fileNamePattern><!--最大保存7天的日志--><maxHistory>7</maxHistory></rollingPolicy><!--文件大于10mb,切换文件--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>10MB</maxFileSize></triggeringPolicy></appender><!--指定logtest采用BASE_ROLL_FILE声明的RollingFileAppender输出日志--><logger name="logtest"><appender-ref ref="BASE_ROLL_FILE"/></logger><!-- Write INFO (and higher-level) messages to the log file --><root level="TRACE"><appender-ref ref="LOGCAT"/></root><!--支持的level--><!--TRACE--><!--DEBUG--><!--INFO--><!--WARN--><!--ERROR--><!--<pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] - %msg%nLogger: %loggerClass: %classFile: %fileCaller: %callerLine: %lineMessage: %mMethod: %MRelative: %relativeThread: %threadException: %exxException: %xExnopException: %nopexrException: %rExMarker: %marker%n</pattern>--><!--引用其他位置的配置信息--><!--<includes>--><!--<include file="/sdcard/foo.xml"/>--><!--<include resource="assets/config/test.xml"/>--><!--<include resource="AndroidManifest.xml"/>--><!--<include file="/sdcard/logback/logback-test.xml"/>--><!--<include file="/sdcard/logback/logback.xml"/>--><!--<include resource="AndroidManifest.xml"/>--><!--<include resource="assets/logback-test.xml"/>--><!--<include resource="assets/logback.xml"/>--><!--</includes>-->
</configuration>

还有其他的appender提供,详细说明移步:
http://logback.qos.ch/manual/appenders.html

4:代码测试

保存在文件中的Log信息:

彩蛋:控制台的颜色设置

友情提示,你可能需要添加以下权限:

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

项目地址: https://github.com/angcyo/LogbackDemo

Android-->Log系统logger保存日志到本地相关推荐

  1. android log系统

    转载自http://blog.csdn.net/Luoshengyang/article/category/838604/3 Android系统开发中LOG的使用 在程序开发过程中,LOG是广泛使用的 ...

  2. Android LOG系统原理剖析

    引言 在我们android的开发过程中,最不可少的就是加Log,打印Log的操作. 这样可以帮助我们去查看各个变量,理清楚代码的逻辑. 而Android系统,提供了不同维度,不同层面,不同模块的Log ...

  3. Android 日志自动分析,Android Log Viewer:一个日志查看器工具,可简化实时对Android日志的分析...

    作为与Cordova一起工作的移动应用程序开发人员, 我知道调试应用程序的本机部分会很困难, 例如, 当你为应用程序创建本机插件时(在这种情况下, Android Studio无效).在试图找出我的应 ...

  4. java 项目保存日志到本地_Springboot项目使用Slf4j将日志保存到本地目录

    spring boot 2攻略从构建小系统书 168元 (需用券) 去购买 > 1.引入jar包 org.slf4j slf4j-api 1.7.25 2.编写application.prope ...

  5. android调用系统照相机保存照片以及压缩上传下载

    1.项目中遇到了许多处理图片的时候.可以直接拿过来使用.很实用.项目中用到了android 开源框架com.loopj.android.http 非常适用方便            2.以下是demo ...

  6. android 调用系统相机拍照保存,android 调用系统照相机,保存后回到前一个activity...

    private static final int RESULT_CAPTURE_IMAGE = 1; 把下面这段放到oncrate 或者按钮事件函数中 Intent imageCaptureInten ...

  7. Android Log系统介绍 (基于Android N)

    原文使用有道云笔记创作, 看这个: http://note.youdao.com/noteshare?id=82f88b1c82652b80c27d54aad55af035 ``` 引言 > A ...

  8. android log机制——输出log

    转自: http://my.oschina.net/wolfcs/blog/164624 android log系统. 在android Java code中输出log android系统有4种类型. ...

  9. AndroidT(13) Log 系统 -- C plus plus 语言格式的LOG输出(二)

    1.概览   上一章提到的是在Android系统中,以C语言格式方式进行log输出.本章就来讲讲c++语言格式的. std::cout<<"This is a c++ log&q ...

最新文章

  1. windows10下pip安装速度慢的解决办法
  2. 基于FPGA的几种排序算法总结
  3. 【转】C#对象的深拷贝与浅拷贝
  4. java简单线程池实例代码
  5. 用variant的数据来推导基因表达 | Imputation of Expression Using PrediXcan
  6. Dubbo的使用及原理浅析
  7. Win11没有操作中心怎么办 Win11没有操作中心的解决方法
  8. 编码5分钟,命名2小时?Java开发都需要参考的一份命名规范!
  9. mysql哈希索引 kv_mysql8 参考手册--B树和哈希索引的比较
  10. .Net中的加密解密
  11. linux内核源码分析--内核启动之,Linux内核源码分析之setup_arch (二)
  12. Oracle sqluldr2
  13. oracle mysql什么意思_oracle数据库中这些语句都是什么意思啊?
  14. 任意重循环(循环阶数不定、循环层数不定)
  15. FFplay文档解读-7-比特流过滤器
  16. “0基础考生考前三小时突破《申论》80分气哭学霸”——公文题(宣传类+评论类)
  17. echarts画关系图,指定有的关系为双向箭头,有的关系为单向箭头
  18. C++控制台贪吃蛇小游戏详细教程
  19. I-Deas TMG 培训资料 (9)
  20. 微信支付开发教程(公众号支付)

热门文章

  1. DSPACE解决小车不按指定道路行驶问题
  2. Flutter(二十九)——封装SQLHelpers
  3. 欲保长寿,先补亏损 —胡海牙
  4. pdf在线转word文档地址
  5. 分享万能java字符串编码转换工具类
  6. 十六进制字符串与字节数组转换工具
  7. 程序适用范围:直线、圆曲线、相等缓和曲线、不等缓和曲线、卵型曲线等公路工程上常见的平面线型号,均能在同一个程序内计算。
  8. caj转pdf在线转换器免费,不限制页数。
  9. 跨域问题的4种解决方案
  10. 关于可调节头颈胸固定支具介绍