码迷,mamicode.com
首页 > 移动开发 > 详细

android 日志文件输出

时间:2015-07-24 12:58:35      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:android   日志 log   

android 日志文件输出

用法:

try {
            
        } catch (Exception e) {
            LogUtil.LogException(e);
        }

package com.hexun.util;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.io.StringWriter;

import android.os.Environment;
import android.util.Log;

/**
 * 日志打印
 */
public class LogUtil {

    private static final String FILE_NAME = "/logs.txt";
    private static Boolean MYLOG_SWITCH = true; // 日志文件总开关

    public static void i(String tag, String str) {
        Log.i(tag, str.toString());
    }

    public static void LogException(Exception e) {
        if (MYLOG_SWITCH) {
            StringWriter sw = new StringWriter();
            PrintWriter pw = new PrintWriter(sw);
            e.printStackTrace(pw);
            String str = sw.toString();
            writeException(str);
        } else {
            e.printStackTrace();
        }
    }

    private static void writeException(String content) {
        try {
            if (Environment.getExternalStorageState().equals(
                    Environment.MEDIA_MOUNTED)) {
                // 获取SD卡的目录
                File sdCardDir = Environment.getExternalStorageDirectory();
                File targetFile = new File(sdCardDir.getCanonicalPath()
                        + FILE_NAME);
                // 以指定文件创建RandomAccessFile对象
                RandomAccessFile raf = new RandomAccessFile(targetFile, "rw");
                // 将文件记录指针移动到最后
                raf.seek(targetFile.length());
                // 输出文件内容
                raf.write(content.getBytes());
                raf.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static String readException() {
        try {
            if (Environment.getExternalStorageState().equals(
                    Environment.MEDIA_MOUNTED)) {
                // 获得SD卡对应的存储目录
                File sdCardDir = Environment.getExternalStorageDirectory();
                // 获取指定文件对应的输入流
                FileInputStream fis = new FileInputStream(
                        sdCardDir.getCanonicalPath() + FILE_NAME);
                // 将指定输入流包装成BufferReader
                BufferedReader br = new BufferedReader(new InputStreamReader(
                        fis));
                StringBuilder sb = new StringBuilder("");
                String line = null;
                // 循环读取文件内容
                while ((line = br.readLine()) != null) {
                    sb.append(line);
                }
                br.close();
                return sb.toString();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

android 日志文件输出

标签:android   日志 log   

原文地址:http://blog.csdn.net/menglele1314/article/details/47037811

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!