简单的Android日志文件记录类
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintWriter;import java.io.StringWriter;import java.text.SimpleDateFormat;import java.util.Date;public class MusicLog{ private static MusicLog mMusicLog; /**日志保存路径*/ private static final String LOG_SAVE_PATH = "sdcard/StackTraceLog/"; /**日志开关*/ private static final boolean LOG_SWITCH = false;  public static MusicLog MusicLogInstance(){  if(mMusicLog == null){   mMusicLog = new MusicLog();  }  return mMusicLog; }  /**插入日志*/ public void addLog(String logStr){  if(LOG_SWITCH){   File file = checkLogFileIsExist();   if(file == null)    return;   FileOutputStream fos = null;   try   {    fos = new FileOutputStream(file, true);    fos.write((new Date().toLocaleString() + " " + logStr).getBytes("gbk"));    fos.write("\r\n".getBytes("gbk"));   }   catch (FileNotFoundException e)   {    e.printStackTrace();   }   catch (IOException e)   {    e.printStackTrace();   }   finally{    try    {     if(fos != null){      fos.close();      fos = null;     }    }    catch (IOException e)    {     e.printStackTrace();    }    fos = null;    file = null;   }  } }  /**检查日志文件是否存在*/ private File checkLogFileIsExist(){  if(!MemorySpaceManager.isSDExist()){   return null;  }  File file = new File(LOG_SAVE_PATH);  if(!file.exists()){   file.mkdirs();  }  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  String dateStr = sdf.format(new Date());  file = new File(LOG_SAVE_PATH + dateStr + ".txt");  if(!isLogExist(file)){   try   {    file.createNewFile();   }   catch (IOException e)   {    e.printStackTrace();   }  }  sdf = null;  return file; }  /**  * 检查当天日志文件是否存在  * @param file  * @return  */ private boolean isLogExist(File file){  File tempFile = new File(LOG_SAVE_PATH);  File[] files = tempFile.listFiles();  for(int i = 0; i < files.length; i++){   if(files[0].getName().trim().equalsIgnoreCase(file.getName())){    return true;   }  }  return false; }  /**  * 打印异常堆栈信息  * @param e  * @return  */ public static String getExceptionStackTrace(Throwable e){        if(e != null){            StringWriter sw = new StringWriter();            PrintWriter pw = new PrintWriter(sw);            e.printStackTrace(pw);            return sw.toString();        }        return "";    }}

更多相关文章

  1. ADT20新建项目Android(安卓)Support library not installed问题
  2. Android上传文件,客户端+服务器源码
  3. Android编译过程详解
  4. android中的按钮以图片的方式显示_基础篇
  5. android 反编译入门
  6. Android(安卓)文件存储的简单实现
  7. 从android 里面读取配置文件
  8. Android写Logcat文件保存到SD卡
  9. Android(安卓)Studio 使用NDK编译时常见的问题

随机推荐

  1. Android客户端与PC服务器实现Socket通信
  2. Android用户界面设计:基本按钮
  3. Android搜索自动提示功能
  4. 浅谈android的selector,背景选择器(看着有
  5. android工程gen目录无法生成的解决办法汇
  6. android studio 添加第三方library (有图)
  7. Android服务端开发1-使用Eclipse搭建Java
  8. Android之自定义View:圆形ImageView实现可
  9. 【android】android Handler应用详解
  10. 查看Android中支持的linux命令