本人博客地址: www.grackertalk.com ,欢迎收藏和访问
1.Log2File工具类的作用
这个工具类是用于Android程序将Log记录到文件中的类,类很简单,复制粘贴过去就可以直接用。
应用场景:
- 无法连接电脑进行调试(usb线被usbotg占用)
- Log不容易被抓取
- Bug出现很随机,不是必出现
- 其他自己脑补
2.Log2File工具类源码
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
import android.content.Context;
import android.os.Environment;
public class Log2File
{
private static boolean logInit;
private static BufferedWriter writer;
private Log2File()
{
}
/**
* 初始化Log,创建log文件
* @param ctx
* @param fileName
* @return
*/
public static boolean init(Context ctx, String fileName)
{
if(!logInit)
{
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state))
{
File sdDir = Environment.getExternalStorageDirectory();
File logDir = new File(sdDir.getAbsolutePath() + "/log2file/" +
ctx.getPackageName() + "/");
try {
if(!logDir.exists())
{
logDir.mkdirs();
}
File logFile = new File(logDir, fileName);
logFile.createNewFile();
writer = new BufferedWriter(new FileWriter(logFile, true));
logInit = true;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return logInit;
}
/**
* 写一条log
* @param msg
*/
public static void w(String msg)
{
if(logInit)
{
try {
Date date = new Date();
writer.write("[" + date.toLocaleString() + "] " + msg);
writer.newLine();
writer.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
}
/**
* 关闭log
*/
public static void close()
{
if(logInit)
{
try {
writer.close();
writer = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
logInit = false;
}
}
}
3.Log2File工具类的使用
这个工具类的使用比较简单,
1.首先调用init进行初始化
<pre code_snippet_id="158203" snippet_file_name="blog_20140115_2_2856205" name="code" class="java">public static boolean init(Context ctx, String fileName)
2.调用w写入log
public static void w(String msg)3.使用完毕后,记得要关闭Log
public static void close()
本文介绍了一款名为Log2File的Android工具类,该工具能够帮助开发者在无法通过USB连接进行调试的情况下,将应用程序的日志记录到外部存储的文件中。文章详细介绍了Log2File的实现原理、使用步骤及应用场景。

被折叠的 条评论
为什么被折叠?



