在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 blockLog.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 blockLog.d(tag, e.getMessage());}    }



更多相关文章

  1. Android(安卓)多线程保证操作同步(同步锁的俩种)
  2. Mac下完全卸载干净Android(安卓)Studio的方法
  3. Android(安卓)怎么获取手机端的ip地址
  4. Android(安卓)百度地图地位指针
  5. Android与H5页面的互调
  6. Android(安卓)判断sd卡和sim卡是否可用
  7. Android模拟器上网的设置
  8. 图书馆一游
  9. 理解Android的handler机制--从应用到原理再到实践

随机推荐

  1. Android(安卓)7.0 启动篇 — init原理(一)(
  2. Error generating final archive: Debug
  3. 推送功能,(服务器向android客户端推送信息,
  4. Android 菜单(OptionMenu)
  5. android 笔记 02
  6. Android的StatusBar资料收集
  7. Android属性之build.prop生成过程
  8. 聊天室服务端
  9. Android(安卓)从缓存中读取图片并异步加
  10. Android利用Fiddler进行网络数据抓包