Parcourir la source

日志写入文件夹

kth@mac il y a 3 ans
Parent
commit
aef7b7c905

+ 1 - 0
README.md

@@ -39,6 +39,7 @@ implementation 'com.yanyi.benyanyi:Logger:1.0.7'
 * JLog.errorWriteFile 报错信息输出到设备文件夹
 
 ## 更新
+* 2022-07-26 更新1.0.8,完善打印文件夹参数配置
 * 2022-05-01 更新1.0.7,自动识别打印文件类型
 * 2021-08-27 更新1.0.5,升级gradle版本,修改maven地址
 * 2020-05-18 更新1.0.4,修复kotlin调用打印方法只填msg时报错问题,将android support转成androidx支持,并将Maven库存放到个人服务器上

+ 1 - 0
app/build.gradle

@@ -40,6 +40,7 @@ dependencies {
     androidTestImplementation 'androidx.test.ext:junit:1.1.2'
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
     implementation project(':loglib')
+    implementation 'com.yanyi.benyanyi:PermissionHelper:1.1.4'
 }
 repositories {
     mavenCentral()

+ 3 - 1
app/src/main/java/com/mylove/logger/AppContext.java

@@ -2,6 +2,8 @@ package com.mylove.logger;
 
 import android.app.Application;
 
+import com.benyanyi.loglib.Jlog;
+
 /**
  * @author myLove
  * @time 2017/11/16 19:11
@@ -14,6 +16,6 @@ public class AppContext extends Application {
     public void onCreate() {
         super.onCreate();
 //        Jlog.init(BuildConfig.LOG_DEBUG);
-//        Jlog.init(true);
+        Jlog.init(false, true);
     }
 }

+ 21 - 0
app/src/main/java/com/mylove/logger/MainActivity.java

@@ -1,5 +1,6 @@
 package com.mylove.logger;
 
+import android.Manifest;
 import android.annotation.SuppressLint;
 import android.app.Application;
 import android.content.pm.ApplicationInfo;
@@ -10,6 +11,9 @@ import androidx.annotation.Nullable;
 import androidx.appcompat.app.AppCompatActivity;
 
 import com.benyanyi.loglib.Jlog;
+import com.benyanyi.permissionlib.PermissionCallBack;
+import com.benyanyi.permissionlib.PermissionHelper;
+import com.benyanyi.permissionlib.msg.FailureMsg;
 
 /**
  * @author myLove
@@ -30,6 +34,23 @@ public class MainActivity extends AppCompatActivity {
 //        Jlog.v("测试" + isApkInDebug());
         Jlog.d("测试");
         Jlog.json("{\"name\":\"BeJson\",\"url\":\"http://www.bejson.com\",\"page\":88,\"isNonProfit\":true,\"address\":{\"street\":\"科技园路.\",\"city\":\"江苏苏州\",\"country\":\"中国\"},\"links\":[{\"name\":\"Google\",\"url\":\"http://www.google.com\"},{\"name\":\"Baidu\",\"url\":\"http://www.baidu.com\"},{\"name\":\"SoSo\",\"url\":\"http://www.SoSo.com\"}]}");
+        PermissionHelper.getInstance(this).hasPermission(0x10, new PermissionCallBack() {
+            @Override
+            public void onPermissionSuccess(int i) {
+                Jlog.writeFile("啊哈");
+                Jlog.errorWriteFile(new NullPointerException("异常"));
+            }
+
+            @Override
+            public void onPermissionFailure(FailureMsg failureMsg) {
+
+            }
+
+            @Override
+            public void onPermissionComplete(int i) {
+
+            }
+        }, Manifest.permission.WRITE_EXTERNAL_STORAGE);
     }
 
     private boolean isApkInDebug() {

+ 1 - 0
build.gradle

@@ -23,6 +23,7 @@ allprojects {
         google()
         jcenter()
         maven { url "https://jitpack.io" }
+        maven { url 'http://maven.keleyanyi.com/repository/benyanyi/' }
         //解决中文乱码问题
         tasks.withType(Javadoc) { //兼容中文
             options.addStringOption('Xdoclint:none', '-quiet')

+ 31 - 31
loglib/src/main/java/com/benyanyi/loglib/Jlog.java

@@ -37,7 +37,7 @@ public final class Jlog {
     private static boolean mIsGlobalTagEmpty = true;
     private static boolean IS_SHOW_LOG = true;
     private static boolean IS_INIT = false;
-    static boolean IS_WRITE = false;
+    static boolean IS_WRITE = true;
 
     public static void init(boolean isShowLog) {
         IS_SHOW_LOG = isShowLog;
@@ -185,7 +185,9 @@ public final class Jlog {
     }
 
     public static void errorWriteFile(Throwable throwable) {
-        BaseLog.writeError(null, throwable);
+        if (IS_WRITE) {
+            BaseLog.writeError(null, throwable);
+        }
     }
 
     public static void errorWriteFile(String tag, Throwable throwable) {
@@ -224,36 +226,34 @@ public final class Jlog {
     }
 
     private static void printLog(LogType type, Object tagStr, Object... objects) {
-
-        if (!IS_SHOW_LOG) {
-            return;
-        }
-        if (!IS_INIT && isApkInDebug()) {
-            return;
-        }
-        String[] contents = wrapperContent(STACK_TRACE_INDEX_5, tagStr, objects);
-        String tag = contents[0];
-        String msg = contents[1];
-        String headString = contents[2];
-
-        switch (type) {
-            default:
-            case V:
-            case D:
-            case I:
-            case W:
-            case E:
-            case A:
-                BaseLog.printDefault(type, tag, headString + msg);
-                break;
-            case JSON:
-                JsonLog.printJson(tag, msg, headString);
-                break;
-            case XML:
-                XmlLog.printXml(tag, msg, headString);
-                break;
+        if (IS_SHOW_LOG || (type == LogType.WRITE && IS_WRITE)) {
+            if ((!IS_INIT && isApkInDebug()) || (type == LogType.WRITE && !IS_WRITE)) {
+                return;
+            }
+            String[] contents = wrapperContent(STACK_TRACE_INDEX_5, tagStr, objects);
+            String tag = contents[0];
+            String msg = contents[1];
+            String headString = contents[2];
+
+            switch (type) {
+                default:
+                case WRITE:
+                case V:
+                case D:
+                case I:
+                case W:
+                case E:
+                case A:
+                    BaseLog.printDefault(type, tag, headString + msg);
+                    break;
+                case JSON:
+                    JsonLog.printJson(tag, msg, headString);
+                    break;
+                case XML:
+                    XmlLog.printXml(tag, msg, headString);
+                    break;
+            }
         }
-
     }
 
     private static void printDebug(Object tagStr, Object... objects) {