From 8b4ce0eea739ca69b8f1bf77452c40efa69a9035 Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期日, 29 九月 2019 17:08:30 +0800
Subject: [PATCH] 修改MyLog,删除2天以前的日志;崩溃是Toast提示

---
 lib/src/main/java/com/anyun/exam/lib/MyLog.java |   97 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 77 insertions(+), 20 deletions(-)

diff --git a/lib/src/main/java/com/anyun/exam/lib/MyLog.java b/lib/src/main/java/com/anyun/exam/lib/MyLog.java
index 372772b..bec1066 100644
--- a/lib/src/main/java/com/anyun/exam/lib/MyLog.java
+++ b/lib/src/main/java/com/anyun/exam/lib/MyLog.java
@@ -1,5 +1,10 @@
 package com.anyun.exam.lib;
 
+
+
+
+
+
 /**
  * anyunProject(20190906)
  * Created by lzw on 2019/9/6. 17:23:17
@@ -9,22 +14,25 @@
 
 
 import android.content.Context;
-import android.os.Environment;
-import android.text.TextUtils;
-import android.util.Log;
+        import android.os.Environment;
+        import android.text.TextUtils;
+        import android.util.Log;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
+        import java.io.BufferedWriter;
+        import java.io.File;
+        import java.io.FileWriter;
+        import java.io.IOException;
+        import java.text.SimpleDateFormat;
+        import java.util.Calendar;
+        import java.util.Date;
+        import java.util.regex.Matcher;
+        import java.util.regex.Pattern;
 
 public class MyLog {
 
+     private static final String TAG = "AYJiaKao";
 
-    private static final String TAG = "AYJiaKao";
+
     private static Boolean MYLOG_SWITCH = true; // 鏃ュ織鏂囦欢鎬诲紑鍏�
 
     private static Boolean MYLOG_WRITE_TO_FILE = true;// 鏃ュ織鍐欏叆鏂囦欢寮�鍏�
@@ -36,7 +44,7 @@
     // 鏃ュ織鏂囦欢鍦╯dcard涓殑璺緞
     private static String MYLOG_PATH_SDCARD_DIR = "/sdcard/JiaKaolog";
 
-    private static int SDCARD_LOG_FILE_SAVE_DAYS = 2;// sd鍗′腑鏃ュ織鏂囦欢鐨勬渶澶氫繚瀛樺ぉ鏁�
+    private static int SDCARD_LOG_FILE_SAVE_DAYS = 3;// sd鍗′腑鏃ュ織鏂囦欢鐨勬渶澶氫繚瀛樺ぉ鏁�
 
     private static String MYLOGFILEName = "Log.txt";// 鏈被杈撳嚭鐨勬棩蹇楁枃浠跺悕绉�
 
@@ -180,9 +188,6 @@
     public static void createIfNotExist() {
 
 
-        delFile();
-
-
         String needWriteFiel = logfile.format(System.currentTimeMillis());
 
 
@@ -226,11 +231,7 @@
 
     private static void writeLogtoFile(String mylogtype, final String tag, final String text) {// 鏂板缓鎴栨墦寮�鏃ュ織鏂囦欢
 
-
-
-
         String needWriteMessage = myLogSdf.format(System.currentTimeMillis()) + " " + tag + "  " + text;
-
 
         try {
 /**鍚庨潰杩欎釜鍙傛暟浠h〃鏄笉鏄鎺ヤ笂鏂囦欢涓師鏉ョ殑鏁版嵁锛屼笉杩涜瑕嗙洊**/
@@ -267,7 +268,7 @@
 
         String needDelFiel = logfile.format(getDateBefore());
 
-        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/JiaKaolog";
+        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/nvlog";
 
         File file = new File(dirPath, needDelFiel + MYLOGFILEName);// MYLOG_PATH_SDCARD_DIR
 
@@ -277,6 +278,50 @@
 
         }
 
+    }
+
+    public static void delSubDirLogs() {
+        String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/nvlog";
+        String regx = "^[0-9]{4}-";
+        Pattern pattern = Pattern.compile(regx);
+        File file = new File(dirPath);
+        boolean needDel = false;
+        if (file.isDirectory()) {
+            Log.i(TAG, "subDirLogs: is a directory");
+            File[] subFiles = file.listFiles();
+            for (File f :
+                    subFiles) {
+                String fName = f.getName();
+                Log.i(TAG, "subDirLogs: 鏂囦欢鍚嶇О锛�" + fName);
+                if (!TextUtils.isEmpty(fName)) {
+                    Matcher matcher = pattern.matcher(fName);
+                    if (matcher.find()) {
+
+                        Log.i(TAG, "subDirLogs: 绗﹀悎瑙勫垯^[0-9]{4}- : " + matcher.group(0));
+                        for (int i = 0; i < SDCARD_LOG_FILE_SAVE_DAYS; i++) {
+                            String needSaveFileName = logfile.format(getDateBefore(i));
+                            if (fName.contains(needSaveFileName)) {
+                                Log.i(TAG, "delSubDirLogs: 姝og闇�瑕佷繚鐣欙細" + fName + " 鏃ユ湡锛�" + needSaveFileName);
+                                needDel = false;
+                                break;
+                            } else {
+                                needDel = true;
+                            }
+                        }
+                        if (needDel) {
+                            Log.i(TAG, "delSubDirLogs: 鍒犻櫎璇ユ枃浠讹細" + fName);
+                            f.delete();
+                        }
+
+
+                    } else {
+                        Log.i(TAG, "delSubDirLogs: 涓嶇鍚堝垹闄よ鍒欙紝鍒欎笉鍒犻櫎锛�" + fName);
+                    }
+                }
+            }
+        } else {
+            Log.i(TAG, "subDirLogs: is not a directory");
+        }
     }
 
 
@@ -298,4 +343,16 @@
 
     }
 
+    private static Date getDateBefore(int i) {
+        Date nowtime = new Date();
+
+        Calendar now = Calendar.getInstance();
+
+        now.setTime(nowtime);
+
+        now.set(Calendar.DATE, now.get(Calendar.DATE) - i);
+
+        return now.getTime();
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0