分享一个简单的Android日志文件记录类
来源:互联网 发布:滨州行知中学的邮编 编辑:程序博客网 时间:2024/04/29 11:03
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 "";
}
}
- 分享一个简单的Android日志文件记录类
- 分享一个简单的Android日志文件记录类
- 分享一个简易的程序日志记录C++类
- android 简单的记录日志
- 分享一个Android 分类打印,及日志记录工具
- C++实现一个简单的异常日志记录类
- 简单日志记录文件
- 简单的日志记录类。
- 一个简单的文件分享工具
- Android日志服务例子,将日志记录在文件中并每天生成一个日志文件
- android日志服务,将日志记录在log文件中并每天生成一个日志文件
- Android日志服务例子,将日志记录在文件中并每天生成一个日志文件
- Android日志服务例子,将日志记录在文件中并每天生成一个日志文件
- Android日志服务例子,将日志记录在文件中并每天生成一个日志文件
- 简单的日志记录
- 一个简单的日志类
- 一个简单的日志类
- 分享一个收缩数据库日志文件的存储过程
- POJ1029
- VS2005安装Boost_1_42_0
- solaris xhost 不显示问题
- 自定义通信协议
- MapKit基本知识
- 分享一个简单的Android日志文件记录类
- 项目过程之间的关系分析
- 三角函数公式
- UVALive 5025 (dfs)
- 在ARM+LINUX上使用pppd拔号上网(GPRS)流程
- IOS MapKit学习笔记
- ubuntu12.10 电源管理
- 看我是如何快速学习android开发的
- Never store the password unhased directly on the server!