简单的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. Android上传文件,客户端+服务器源码
  2. Android 文件存储的简单实现
  3. 从android 里面读取配置文件
  4. Android写Logcat文件保存到SD卡
  5. android中使用HTTP协议和TCP协议实现上传文件
  6. Android 读取TXT 文件中文乱码 解决方案
  7. android:获取网络时间、文件路径,修改包名,发布release版本
  8. [GeoWay]android用于打开各种文件的intent
  9. Android Studio设置apk文件名

随机推荐

  1. Python解释器种类以及特点?详细介绍!
  2. C++入门
  3. 0223-空间引用类的三种方式,写一个自动加
  4. php 自动加载类与mysql基础
  5. flex属性及简单布局
  6. kubernetes限制nodport的访问的IP
  7. 2021年企业bi工具推荐
  8. PMP高效取证特训营介绍-51CTO
  9. 猴子吃香蕉的问题-摘自Linux shell核心编
  10. awk函数-摘自Linux Shell核心编程指南