android 日志文件输出
2015-07-24 10:57
141 查看
android 日志文件输出
用法:
用法:
try { } catch (Exception e) { LogUtil.LogException(e); }
package com.hexun.util; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.RandomAccessFile; import java.io.StringWriter; import android.os.Environment; import android.util.Log; /** * 日志打印 */ public class LogUtil { private static final String FILE_NAME = "/logs.txt"; private static Boolean MYLOG_SWITCH = true; // 日志文件总开关 public static void i(String tag, String str) { Log.i(tag, str.toString()); } public static void LogException(Exception e) { if (MYLOG_SWITCH) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); String str = sw.toString(); writeException(str); } else { e.printStackTrace(); } } private static void writeException(String content) { try { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 获取SD卡的目录 File sdCardDir = Environment.getExternalStorageDirectory(); File targetFile = new File(sdCardDir.getCanonicalPath() + FILE_NAME); // 以指定文件创建RandomAccessFile对象 RandomAccessFile raf = new RandomAccessFile(targetFile, "rw"); // 将文件记录指针移动到最后 raf.seek(targetFile.length()); // 输出文件内容 raf.write(content.getBytes()); raf.close(); } } catch (Exception e) { e.printStackTrace(); } } private static String readException() { try { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 获得SD卡对应的存储目录 File sdCardDir = Environment.getExternalStorageDirectory(); // 获取指定文件对应的输入流 FileInputStream fis = new FileInputStream( sdCardDir.getCanonicalPath() + FILE_NAME); // 将指定输入流包装成BufferReader BufferedReader br = new BufferedReader(new InputStreamReader( fis)); StringBuilder sb = new StringBuilder(""); String line = null; // 循环读取文件内容 while ((line = br.readLine()) != null) { sb.append(line); } br.close(); return sb.toString(); } } catch (Exception e) { e.printStackTrace(); } return null; } }
相关文章推荐
- Android中常用适配器理解及使用
- Android Intent的几种用法全面总结
- Android之AssetManager使用
- android jni
- Android AIDL Binder框架浅析
- AndroidQQ第三方登录个人详情获取
- 优化Android应用内存的若干方法
- Android JNI 调试
- Android开机广播android.intent.action.BOOT_COMPLETED
- ListActivity中android:id="@+id/android:list"
- android--错误集锦
- Android如何反编译xml文件 ,和防止代码反编译
- Android Studio之gradle的配置与介绍
- Android Studio之gradle的配置与介绍
- Android开发学习笔记三Genymotion
- 围观:开发者不容错过的十二大Android开发资源
- Android NavagationBar自定义实现
- Android开发之AlertDialog
- 使用RecyclerView实现列表展开动画
- Android Studio 中获取SHA1值