Android日志工具類

f25p 9年前發布 | 10K 次閱讀 Java Android

import org.apache.commons.lang3.time.DateFormatUtils;

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

/**

  • 日志記錄
  • */
    public class LogUtil {
    /**

    • 開發階段 */
      private static final int DEVELOP = 0;
      /**
    • 內部測試階段 */
      private static final int DEBUG = 1;
      /**
    • 公開測試 */
      private static final int BATE = 2;
      /**
    • 正式版 */
      private static final int RELEASE = 3;

    /**

    • 當前階段標示 */
      private static int currentStage = DEVELOP;

    private static String path;
    private static File file;
    private static FileOutputStream outputStream;
    private static String pattern = "yyyy-MM-dd HH:mm:ss";

    static {

    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {  
        File externalStorageDirectory = Environment.getExternalStorageDirectory();  
        path = externalStorageDirectory.getAbsolutePath() + "/zcw/";  
        File directory = new File(path);  
        if (!directory.exists()) {  
            directory.mkdirs();  
        }  
        file = new File(new File(path), "log.txt");  
        android.util.Log.i("SDCAEDTAG", path);  
        try {  
            outputStream = new FileOutputStream(file, true);  
        } catch (FileNotFoundException e) {  
    
        }  
    } else {  
    
    }  
    

    }

    public static void info(String msg) {

    info(LogUtil.class, msg);  
    

    }

    public static void info(Class clazz, String msg) {

    switch (currentStage) {  
        case DEVELOP:  
            // 控制臺輸出  
            Log.i(clazz.getSimpleName(), msg);  
            break;  
        case DEBUG:  
            // 在應用下面創建目錄存放日志  
    
            break;  
        case BATE:  
            // 寫日志到sdcard  
            Date date = new Date();  
            String time = DateFormatUtils.format(date, pattern);  
            if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {  
                if (outputStream != null) {  
                    try {  
                        outputStream.write(time.getBytes());  
                        String className = "";  
                        if (clazz != null) {  
                            className = clazz.getSimpleName();  
                        }  
                        outputStream.write(("    " + className + "\r\n").getBytes());  
    
                        outputStream.write(msg.getBytes());  
                        outputStream.write("\r\n".getBytes());  
                        outputStream.flush();  
                    } catch (IOException e) {  
    
                    }  
                } else {  
                    android.util.Log.i("SDCAEDTAG", "file is null");  
                }  
            }  
            break;  
        case RELEASE:  
            // 一般不做日志記錄  
            break;  
    }  
    

    }
    } </pre>

 本文由用戶 f25p 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!