Android 开发技巧之Log写入文件
2012-04-19 16:51
309 查看
在Android开发的时候经常会遇到手机offline,影响日志的查看与分析。为此,我写了一个简单的类用于将日志写入文件中,便于以后调试的时候可以拿来使用:
使用这个类的代码:
package org.test; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.text.SimpleDateFormat; import java.util.Date; public class LogWriter { private static LogWriter mLogWriter; private static String mPath; private static Writer mWriter; private static SimpleDateFormat df; private LogWriter(String file_path) { this.mPath = file_path; this.mWriter = null; } public static LogWriter open(String file_path) throws IOException { if (mLogWriter == null) { mLogWriter = new LogWriter(file_path); } File mFile = new File(mPath); mWriter = new BufferedWriter(new FileWriter(mPath), 2048); df = new SimpleDateFormat("[yy-MM-dd hh:mm:ss]: "); return mLogWriter; } public void close() throws IOException { mWriter.close(); } public void print(String log) throws IOException { mWriter.write(df.format(new Date())); mWriter.write(log); mWriter.write("\n"); mWriter.flush(); } public void print(Class cls, String log) throws IOException { //如果还想看是在哪个类里可以用这个方法 mWriter.write(df.format(new Date())); mWriter.write(cls.getSimpleName() + " "); mWriter.write(log); mWriter.write("\n"); mWriter.flush(); } }感觉在整个程序中进行写日志操作之后用到一个实例,所以我用了单例模式
使用这个类的代码:
private LogWriter mLogWriter; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); File logf = new File(Environment.getExternalStorageDirectory() + File.separator + "DemoLog.txt"); try { mLogWriter = LogWriter.open(logf.getAbsolutePath()); } catch (IOException e) { // TODO Auto-generated catch block Log.d(tag, e.getMessage()); } log("onCreate()"); } public void log(String msg) { Log.d(tag, msg); try { mLogWriter.print(AlarmManagerDemo.class, msg); } catch (IOException e) { // TODO Auto-generated catch block Log.d(tag, e.getMessage()); } }
相关文章推荐
- android studio logcat写入到指定文件
- android开发 更新下载apk部分机型文件写入失败(Permission denied)
- Android开发实现读取Assets下文件及文件写入存储卡的方法
- Android将Log写入文件
- Android开发中拷贝db文件写入SQLite
- android 开发中通过JNI无法向SD卡写入文件的解决办法
- android 开发中通过JNI无法向SD卡写入文件的解决办法
- Android将Log写入文件
- Android开发过程中在sh,py,mk文件中添加log信息的方法
- Android 中的一些开发技巧(延迟启动,文件写出,透明状态栏,任意界面退出)
- Android开发技巧(一):代码日志跟踪后台显示Log.i();
- Android一行代码实现将Log写入文件(可配置是否输出Log,测试包可直接用于发布)
- Android记录程序崩溃Log写入文件
- Android 4.4开发中向SD存储卡写入文件方案
- Android 开发(三)使用Stirngs资源文件的技巧
- Android开发过程中在sh,py,mk文件中添加log信息的方法
- [android开发]对象的持久化操作 (写入对象到本地文件, 从本地文件中读取对象)
- 求解啊,我在android中开发,写入sd卡的时候出现了错误,测试了能够连接了到本地服务器的文件了,就是写入sd卡的时候不能写入
- Android开发过程中在sh,py,mk文件中添加log信息的方法
- android开发步步为营之98:android studio使用技巧之一(如何清理不需要的文件)